有N个学生,每个学生的数据包括学号、班级、姓名、三门课成绩,平均成绩。从键盘输入N 个学生数据(学号、班级、姓名、三门课成绩)。
要求:
1、计算每个学生三门课的平均成绩,并输出。
2、求出平均分最高的学生数据,并输出。
(格式如下样例)
Input
第一行:N,表示N 个学生
下面N 行:每行数据包括学号、班级、姓名、三门课成绩。
Output
输出每个学生三门课的平均成绩,以及平均分最高分学生数据(包括学号、班级、姓名、三门课成绩,平均分)。
格式见下。(四舍五入保留一位小数)
Sample Input
4
20130008 tongxin1 wangmama 87 84 96
20130001 tongxin1 lanxin 92 84 83
20130007 tongxin2 wike 94 87 89
20130003 wulian4 tao 90 87 87
Sample Output
wangmama 89.0
lanxin 86.3
wike 90.0
tao 88.0
20130007 tongxin2 wike 94.0 87.0 89.0 90.0
#include <stdio.h>
struct student
{
char num[20][8];
char cla[20][20];
char name[20][20];
float a, b, c;
} student[20];
int main()
{
int N;
scanf("%d", &N);
int i;
for(i = 0; i < N; i++)
{
scanf("%s %s %s %f %f %f", &student[i].num, &student[i].cla, &student[i].name, &student[i].a, &student[i].b, &student[i].c);
}
float arr[20], max;
for(i = 0; i < N; i++)
{
arr[i] = (student[i].a + student[i].b + student[i].c) / 3;
printf("%s %.1f\n", student[i].name, arr[i]);
}
int k = 0;
max = arr[0];
for(i = 0; i < N; i++)
{
if(max < arr[i])
{
max = arr[i];
k = i;
}
}
printf("%s %s %s %.1f %.1f %.1f %.1f", student[k].num, student[k].cla, student[k].name, student[k].a, student[k].b, student[k].c, arr[k]);
return 0;
}
常规题目,就是有点麻烦