解题思路:用if else结构不断地比较大小,我主要用了二维数组,但是也可以用三个一维数组
注意事项:不要忘记你是要从小到大排序还是从大到小排序,也不要漏掉任何一种排序的可能
参考代码:
#include<stdio.h> #include<string.h> int main() { char a[3][100]; char b[3][100]; int i; for(i=0;i<3;i++) gets(a[i]); if(strcmp(a[0],a[1])>0) { if(strcmp(a[2],a[0])>0) { strcpy(b[0],a[2]); strcpy(b[1],a[0]); strcpy(b[2],a[1]); strcpy(a[0],b[0]); strcpy(a[1],b[1]); strcpy(a[2],b[2]); } else { if(strcmp(a[2],a[1])>0) { strcpy(b[0],a[2]); strcpy(a[2],a[1]); strcpy(a[1],b[0]); } } } else { if(strcmp(a[2],a[1])>0) { strcpy(b[0],a[2]); strcpy(b[1],a[1]); strcpy(b[2],a[0]); strcpy(a[0],b[0]); strcpy(a[1],b[1]); strcpy(a[2],b[2]); } else { if(strcmp(a[2],a[0])>0) { strcpy(b[0],a[1]); strcpy(b[1],a[2]); strcpy(b[2],a[0]); strcpy(a[0],b[0]); strcpy(a[1],b[1]); strcpy(a[2],b[2]); } else { strcpy(b[0],a[1]); strcpy(b[1],a[0]); strcpy(b[2],a[2]); strcpy(a[0],b[0]); strcpy(a[1],b[1]); strcpy(a[2],b[2]); } } } for(i=2;i>=0;i--) printf("%s\n",a[i]); return 0; }
方法太笨,不建议各位学习,放到这里仅作为对我的一种警示
0.0分
3 人评分
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:729 |
剪刀石头布 (C语言代码)不知道怎么直接在scanf中用枚举变量浏览:1436 |
计算质因子 (C++代码)浏览:1826 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:689 |
C语言程序设计教程(第三版)课后习题6.6 (C++代码)浏览:649 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:606 |
求圆的面积 (C语言代码)浏览:1756 |
1009题解浏览:802 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:566 |
2006年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:726 |