有3个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入3个学生数据,要求输出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。

#include
#include
#include

struct st{
	char id[5];
	char name[10];
	float score[3];
	float a;
}s[3];

int main(){
	int i;
	float sum = 0;
	float max = -1;
	int flag = 0;
	
	for(i = 0; i < 3; i++)
	{
		scanf("%s",s[i].id);
		scanf("%s",s[i].name);
		//printf("%s\n",s[i].name);
		int j;
		for(j = 0; j < 3; j++)
		{
			scanf("%f",&s[i].score[j]);
			//printf("%f\n",s[i].score[j]);
			sum+=s[i].score[j];
		}
		//printf("%f\n",s[i].score[2]);
		s[i].a = (s[i].score[0]+s[i].score[1]+s[i].score[2])/3.0;
		if(s[i].a > max) max = s[i].a,flag = i;
	}
	//printf("\n%f",sum);
	float average = sum/9.0;
	//printf("%d",flag);
	//printf("%f",s[0].score[1]);
	printf("平均成绩为:%.2f\n",average);
	printf("最高学生信息为:\n");
	printf("学号:%s\n",s[flag].id);
	printf("姓名:%s\n",s[flag].name);
	printf("成绩:%.2f, %.2f, %.2f\n",s[flag].score[0],s[flag].score[1],s[flag].score[2]);
	return 0;
}

中间有很多注释我是用来检查有没有正确的输入

你可能感兴趣的:(c语言,结构体)