C语言实现:某班有10个学生,每个学生包姓名和三门成绩,编写程序,从键盘上输入每个学生的姓名和各门成绩

,并按姓名从大到小的顺序输出。。。求大神啊

#include <stdio.h>
#include <string.h>
struct student
{
char name[100];
int a[3];
} std[10];
int main()
{
int i, j;
student s;
for ( i = 0; i < 10; i++)
{
scanf("%s %d %d %d",std[i].name, &std[i].a[0], &std[i].a[1], &std[i].a[2]);
}
for (i = 0; i < 9; i++)
{
for (j = 0; j < 10 - i -1; j++)
{
if (strcmp(std[j].name, std[j+1].name) < 0)
{
s = std[j], std[j] = std[j+1], std[j+1] = s;
}
}
}
for (i = 0; i< 10; i++)
{
printf("姓名:%s成绩:%d%d%d\n",std[i].name, std[i].a[0], std[i].a[1], std[i].a[2]);
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-22
定义一个结构体,结构体里面用来存放你要存入的数据,利用for循环执行读入10次,将数据读入结构体并存放到数组中,按你的需求进行排序输出,至于按姓名大小就不理解了。
第2个回答  2012-08-22
C我不会C++我会
相似回答