解题思路:用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 人评分
字符串的输入输出处理 (C语言代码)浏览:945 |
简单的a+b (C语言代码)浏览:599 |
WU-整除问题 (C++代码)浏览:612 |
三角形 (C++代码)记忆化搜索浏览:1234 |
简单的a+b (C语言代码)浏览:606 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:596 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:556 |
printf基础练习2 (C语言代码)浏览:618 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:604 |
Pascal三角 (C语言代码)浏览:653 |