View Code of Problem 82

#include<stdio.h>
struct student{
		char xuehao[10];
		char name[20];
		int score[3];
	//	int k2;
	//	int k3;
	}; 
int main(){
	int n;
	scanf("%d",&n);
	
	struct student stu[n];
	int i=0;
	int j=0;
	int sum[100]={0};
	int sum1[100]={0};
	int ave[100]={0}; 
	int level=0;

	for(i=0;i<n;i++){
		scanf("%s %s %d %d %d",&stu[i].xuehao,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);	
	} 
	 
	 for(i=0;i<3;i++){//代表三门科目 
	 	for(int j=0;j<n;j++){
	 		sum[i]+=stu[j].score[i];
		 }
		 ave[i]=sum[i]/n;
	 }
	 for(int i=0;i<3;i++){//输出三门课的平均成绩 
	 	 printf("%d ",ave[i]);
	 	 }
	 	 
     // printf("%d",ave[2]);
	  printf("\n");
//	scanf("%s %s %d %d %d",&s.xuehao,&s.name,&s.k1,&s.k2,&s.k3);
	//printf("%s",s.name);
	//要知道哪个学生的平均成绩最高  只需要算总分即可 总分最高,平均分就最高
	for(int i=0;i<n;i++){  //n 代表学生 
		for(int j=0;j<3;j++){
			sum1[i]+=stu[i].score[j];//这里得到每个学生的总分 
		} 
	}
//	for(int i=0;i<n;i++){
//		
//	   printf("%d",sum1[i]);//这里可以打印出每个学生的总分 
//	} 
	//现在要找出分数最高的人 
		int max=sum[0];
	for(int i=0;i<n;i++){
			
		if(sum1[i]>max){
		  	max=sum[i];
	 	} 
	 	int level=i;
	}
	//printf("%d",level);
	printf("%s %s %d %d %d\n",stu[level].xuehao,stu[level].name,stu[level].score[0],stu[level].score[1],stu[level].score[2]);
	return 0;
}

Double click to view unformatted code.


Back to problem 82