用for循环和数组求最高平均成绩以及学生与课程序号

输入4个学生的3门成绩;求 1.最高成绩的学生序号以及课程序号; 2..每个学生的平均成绩,以及平均成绩最高的学生成绩和学生序号; 3.每门课的平均成绩,以及平均成绩最高的课程成绩和课程序号。

用二维数组做,a[4][3],你的数据有吗

#include<stdio.h>
int main( ){
struct student{
	char no[100] ;
	char name[100] ;
	float score1  ;
	float score2  ;
	float average;
	}s[3];
	int i,max;
		for(i=0;i<3;i++){
		scanf("%s %s %f %f",s[i].no,s[i].name,&s[i].score1,&s[i].score2);
	}
	
	for(i=0;i<3;i++){
		s[i].average=(s[i].score1+s[i].score2)/2;
	}

	printf("%10.1f%10.1f%10.1f",s[0].average,s[1].average,s[2].average);
	if(s[0].average>s[1].average){
		if(s[0].average>s[2].average){
				max=0;
		}else{
				max=2;
		}
	
	}else if(s[1].average>s[2].average){
		max=1;
	}else if(s[2].average>s[3].average){
			max=2;
	}else{
		max=3;
	}

    printf("\nNo=%s,Name=%s,Score1=%.1f,Score2=%.1f,Average=%.1f",s[max].no,s[max].name,s[max].score1,s[max].score2,s[max].average);
    return 0 ;
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^