View Code of Problem 82

#include<stdio.h>

typedef struct Student{
	char num[10];
	char name[10];
	int score1;
	int score2;
	int score3;
}Stu;
int main(){
	//有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)
	//Input:学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。
	//Output:各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩)
	int n,i,average[3],max;
	Stu stu[100];
	scanf("%d",&n);
	average[0] = 0;average[1] = 0;average[2] = 0;
	for(i=0;i<n;i++){
		scanf("%S %s %d %d %d",&stu[i].num,&stu[i].name,&stu[i].score1,&stu[i].score2,&stu[i].score3);
		average[0] += stu[i].score1;
		average[1] += stu[i].score2;
		average[2] += stu[i].score3;
	}
	printf("%d %d %d\n",average[0]/n,average[1]/n,average[2]/n);
	max = 0;
	for(i=1;i<n;i++){
		if(stu[i].score1+stu[i].score2+stu[i].score3 > stu[max].score1+stu[max].score2+stu[max].score3){
			max = i;
		}
	}
	printf("%s %s %d %d %d",stu[max].num,stu[max].name,stu[max].score1,stu[max].score2,stu[max].score3);
	return 0;
}

Double click to view unformatted code.


Back to problem 82