学生成绩
题目内容:有m个学生,每个学生的数据包括“学号”、“姓名”和3门课成绩。请
编程计算每个学生3门课的平均成绩,然后输出每个学生的所有数据(包括平均成绩)。
输入:第1行输入学生人数m(1=<m<=30),接下来m行按顺序输入每个学生的学号、姓名和3门课的成绩,数据中间以空格间隔。其中学号由4位数字字符构成;姓名用英文表示,长度小于10;3门课的成绩类型为int,分数分布在区间[0,100];平均成绩类型为double。格式见样例设计。
输出:按行输出m个学生的学号、姓名、3门课成绩及平均成绩,格式要求如下:学号占5位宽度,左对齐;姓名占10位宽度,右对齐;3门课成绩各自占5位宽度,右对齐;平均成绩保留2位小数,总域宽7位,右对齐;见样例设计。
输入样例:
1101 qqqq 47 53 66
1100 wwwww 80 85 84
1122 aaa 90 100 99
#include <stdio.h>
struct stu
{
char num[5];
char name[10];
int score[3];
double aver;
}s[50];
int main()
{
int m,i,j,sum;
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%s%s",s[i].num,s[i].name);
for(sum=0,j=0;j<3;j++)
{
scanf("%d",&s[i].score[j]);
sum+=s[i].score[j];
}
s[i].aver=sum/3.0;
}
for(i=0;i<m;i++)
{
printf("%-5s%10s",s[i].num,s[i].name);
for(j=0;j<3;j++)
printf("%5d",s[i].score[j]);
printf("%7.2lf\n",s[i].aver);
}
return 0;
}