有10个学生,每个学生的数据包括学号、姓名、三门课的成绩。数据从键盘输入,要求打印出每个学生的总分、三门课的总平均成绩,以及总分最高的学生的名字(题目来源:C语言程序设计第三版)
#include<stdio.h>
struct student
{
int num;
char name[10];
double d,b,c,aver,sum;
};
int main()
{
struct student a[10];
int i,j,k;
double max;
for(i=0;i<10;i++)
{
printf("请输入第%d位同学的学号、姓名、三门课成绩:\n",i+1);
scanf("%d %s",&a[i].num,a[i].name);
scanf("%lf %lf %lf",&a[i].d,&a[i].b,&a[i].c);
a[i].sum=a[i].d+a[i].b+a[i].c;
a[i].aver=a[i].sum/3;
}
for(i=0;i<9;i++)
{
k=i;
for(j=i+1;j<10;j++)
if(a[j].sum>a[k].sum)
max=a[j].sum;
else
max=a[k].sum;
}
for(j=0;j<10;j++)
{
if(a[j].sum==max)
break;
}
for(i=0;i<10;i++)
printf("学号:%5d 姓名:%s 总分:%4.2lf 平均分:%4.2lf\n",a[i].num,a[i].name,a[i].sum,a[i].aver);
printf("总分最高的同学为:\n");
printf("%s",a[j].name);
return 0;
}