原题是
某班有10名学生,每名学生的数据包括学号、姓名、3门课程的成绩。
编写程序从键盘输入10名学生数据,并打印出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均成绩)。
下面是我编的程序
帮改下!!
#include<stdio.h>
main()
{
struct student
{
long num;
char name;
char score[3];
};
struct student stu[10];
int i,s=0,j,b,c,d,max0,max1,max2;
double aver;
for(i=0;i<10;i++)
scanf("%d%s%d%d%d",&stu[i].num,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
for(i=0;i<10;i++)
if(stu[i].score[0]>0)
max0=stu[i].score[0];
b=i;
for(j=0;j<3;j++)
printf("%d%c%lf\n",stu[b].num,stu[b].name,stu[b].score[j]);
for(i=0;i<10;i++)
if(stu[i].score[1]>0)
max1=stu[i].score[1];
c=i;
for(j=0;j<3;j++)
printf("%d%c%lf\n",stu[c].num,stu[c].name,stu[c].score[j]);
for(i=0;i<10;i++)
if(stu[i].score[2]>0)
max2=stu[i].score[2];
d=i;
for(j=0;j<3;j++)
printf("%d%c%lf\n",stu[d].num,stu[d].name,stu[d].score[j]);
for(i=0;i<10;i++)
for(j=0;j<3;j++)
{
s=s+stu[i].score[j];
}
aver=s/30;
printf("aver=%lf\n",aver);
}