#include<stdio.h> #include<math.h> #include<string.h> void swapstr(char*,char*); void swapstr(char* a,char* b) { char c[10000]; strcpy(c,a); strcpy(a,b); strcpy(b,c); } int main() { int n; while(~scanf("%d",&n)) { char a[1000][10000]={0}; int nn=n; while(n>0) { n--; scanf("%s",a[n]); } int sum; for(int b=1;b<nn;b++){//从小到大 先排长度 sum=0; while(strlen(a[b-sum])<strlen(a[b-1-sum])) { swapstr(a[b-sum],a[b-1-sum]); sum++; if(b-1-sum<0) { break; } } } for(int b=1;b<nn;b++){ sum=0; while(b-1-sum>=0) { if(strlen(a[b-sum])==strlen(a[b-1-sum])) { if(strcmp(a[b-sum],a[b-1-sum])<0) { swapstr(a[b-sum],a[b-1-sum]); } } sum++; } } for(int b=0;b<nn;b++){ printf("%s\n",a[b]); } } return 0; }
解题思路:
注意事项:
参考代码:
0.0分
2 人评分
C语言训练-计算一个整数N的阶乘 (C语言代码)浏览:795 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:2545 |
简单的a+b (C语言代码)浏览:538 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:324 |
小九九 (C语言代码)浏览:822 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1087 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:716 |
永远的丰碑 (C语言代码)浏览:656 |
Tom数 (C++代码)浏览:828 |
大神老白 (C语言代码)浏览:611 |