求助各位大神,C语言程序设计,输入5个学生输入学号姓名与3门课的成绩

2025-05-18 07:38:09
推荐回答(1个)
回答1:

#include

typedef struct {
char num[20];
char name[20];
double a,b,c,sum;

}STU;
STU s[5];
int main()
{
int i,j;
STU t;
for(i  =0;i< 5;i++) {
scanf("%s %s %lf %lf %lf",s[i].num,s[i].name,&s[i].a,&s[i].b,&s[i].c);
s[i].sum = 0.1*s[i].a + 0.2*s[i].b + 0.7 * s[i].c;
}
for(i = 0;i<5;i++)
for(j =i+1;j<5;j++)
if(s[i].sum < s[j].sum) t = s[i],s[i] = s[j],s[j] = t;
for(i = 0;i<5;i++)
printf("第%d名 : %s %s %.0lf %.0lf %.0lf 总分 为 %.2lf\n",i+1,s[i].num,s[i].name,s[i].a,s[i].b,s[i].c,s[i].sum);
return 0;

}
/*
0001 zhangsan 10 20 30
0002 lisi 30 30 30
0003 wangwu 100 100 10
0004 sunliu 10 10 100
0005 yiyi 100 100 100

*/

望采纳!