acm题目 求改一下代码
Description有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)
Input
学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。
Output
各门课的平均成绩
最高分的学生的数据(包括学号、姓名、3门课成绩)
Sample Input
2
1 blue 90 80 70
b clan 80 70 60
Sample Output
85 75 65
1 blue 90 80 70
程序代码:
#include <stdio.h> char NO[100][20]; char name[100][20]; int score1[100],score2[100],score3[100]; int number,av,bv,cv; int i = 0; void input() { int a,b,c; a=0,b=0,c=0; scanf("%d", &number); for(i=0;i<number;i++) { scanf("%s%s%d%d%d", &NO[i], &name[i], &score1[i], &score2[i], &score3[i]); } for(i=0;i<number;i++) { a+=score1[i]; b+=score2[i]; c+=score3[i]; } av=a/number; bv=b/number; cv=c/number; } void print() { int n,m,temp; m=0; printf("%d %d %d\n",av,bv,cv); for(n=0;n<number-1;n++); { if((score1[n+1]+score2[n+1]+score3[n+1])>(score1[n]+score2[n]+score3[n])) m=n+1; else m=n } printf("%s %s %d %d %d",NO[m],name[m],score1[m],score2[m],score3[m]); } int main() { input(); print(); return 0; }
求改一下