用结构体数组存储学生信息,每个学生有姓名、学号、年龄和成绩。输入N(10)名学生信息,按成绩从高低

2024-10-28 05:55:30
推荐回答(1个)
回答1:

注意输入数据时的形式。
#include
struct person
{int xuehao;
char name[20];
char sex;
int year;
int grade;
}man[80];
main()
{int n,i,max,k=0;
printf("一共有多少学生;");
scanf("%d",&n);
for(i=0;i{scanf("%d,%d,%d,",&man[i].xuehao,&man[i].year,&man[i].grade);
scanf("%c,%s",&man[i].sex,&man[i].name);}
max=man[0].grade;
for(i=0;iif(max{max=man[i].grade;
k=i;}
printf("name sex xuehao year grade\n");
printf("--------------------------------------------------\n");
for(i=0;iprintf("%-12s%-4c%4d%8d%10d\n",man[i].name,man[i].sex,man[i].xuehao,man[i].year,man[i].grade);
printf("最高分的学生信息:\n");
printf("name sex xuehao year grade\n");
printf("--------------------------------------------------\n");
printf("%-12s%-4c%4d%8d%10d\n",man[k].name,man[k].sex,man[k].xuehao,man[k].year,man[k].grade);
}