C语言新手到高手必做题!!!! 难!!!
输入学生姓名和成绩.按分数从低到高排列输出.就是这个题目,我自己想了好久好久..总算是写出来了..
我先把代码发上来,有建议的给提提啊..感觉罗嗦了一点
有能力的别看啊..自己编了之后,再给我提一下建议..
最后输入学生多少个的话,我的代码里面可以通过修改#define All 5的5来改..
程序代码:
#include<stdlib.h> #include<stdio.h> #define All 5 #define Name 8 int main(void){ int mar[All],i,j,m; char name[All][Name],other[Name]; printf("请输入五个学生的名字和分数,如:张三 100\n\n"); for(i=0;i<All;i++) scanf("%s%d",name[i],&mar[i]); for(i=All-1;i>=0;i--) for(j=0;j<=i;j++) if(mar[i]<mar[j]){ m=mar[i]; mar[i]=mar[j]; mar[j]=m; strcpy(other,name[i]); strcpy(name[i],name[j]); strcpy(name[j],other); } for(i=0;i<All;i++) printf("%s的分数是:%d\n",name[i],mar[i]); getch(); return 1; }
[[it] 本帖最后由 zqy110007 于 2008-11-20 19:58 编辑 [/it]]