解题思路:用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语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:856 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:557 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:545 |
Minesweeper (C语言描述,蓝桥杯)浏览:1126 |
Tom数 (C语言代码)浏览:527 |
简单的a+b (C语言代码)浏览:460 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:3358 |
自编的贪吃蛇小游戏,代码装上easyx图形库就能运行。浏览:942 |
金额的中文大写浏览:3489 |
Manchester-字符逆序(稳,附带小问题)浏览:5031 |