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]]









