/*
有10个学生,每个学生的数据包括,学号,姓名,3门课的成绩,从键盘输入10个学生的数据
要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号,姓名,三门课的成绩,平均分数)
*/
#include<stdio.h>
#define N 2
struct student
{
int num;
char name[10];
int score[3];
float aver;
}stu[N];
void main()
{
int i,j,max=0,maxi=0,sum=0; //maxi最高分学生的序号
float average=0;
for(i=0;i<N;++i)
{
scanf("%d %s",&stu.num,&stu.name);
for(j=0;j<3;j++)
{
scanf("%d ",&stu.score[j]);
}
}
for(i=0;i<N;i++)
{
for(j=0;j<3;j++)
sum+=stu.score[j];
stu.aver=sum/3.0; //每个学生的平均分
average+=stu.aver; //学生的平均分之和
if(sum>max) //判断最高分学生的序号
{
max=sum;
maxi=i;
}
}
average/=N; //亲,这才是总平均分哦,
printf("No. name score1 score2 score3 average\n");
for(i=0;i<N;++i)
{
printf("%d,%s",stu.num,stu.name);
for(j=0;j<3;j++)
{
printf("%9d",stu.score[j]);
printf("%8.2f\n",stu.aver);
}
}
printf("average=%6.2f\n",average);
printf("The highest score is %d,score total:%d.",stu[maxi].name,max);
}
输入语句有误,求解 |