求解c语言题目答案呀呀

输入三明同学的三门成绩,输出数学是第一名的同学的信息

代码如下:

#include <stdio.h>
struct Student
{
	int nmb;
	char name[20];
	int score[3];
};
//录入数据
void inputinfo(struct Student a[])
{
	int i;
	printf("输入10个学生的学号,姓名,数学、英语、语文的成绩:\n");
	for (i = 0;i< 10;i++)
	{
		scanf("%d %s %d %d %d",&a[i].nmb,a[i].name,&a[i].score[0],&a[i].score[1],&a[i].score[2]);
	}
}
//科目成绩最高的学生信息
void maxinfo(struct Student a[])
{
	int i;
	int max1,max2,max3;
	int index1 = 0,index2 = 0,index3 = 0;
	max1 = a[0].score[0];
	max2 = a[0].score[1];
	max3 = a[0].score[2];
	for (i = 1;i<10;i++)
	{
		if (a[i].score[0] > max1)
		{
			max1 = a[i].score[0];
			index1 = i;
		}

		if (a[i].score[1] > max2)
		{
			max2 = a[i].score[1];
			index2 = i;
		}

		if (a[i].score[2] > max3)
		{
			max3 = a[i].score[2];
			index3 = i;
		}
	}

	printf("数学成绩最高的学生:%d\t%s\t%d\n",a[index1].nmb,a[index1].name,a[index1].score[0]);
	printf("英语成绩最高的学生:%d\t%s\t%d\n",a[index2].nmb,a[index2].name,a[index2].score[1]);
	printf("语文3成绩最高的学生:%d\t%s\t%d\n",a[index3].nmb,a[index3].name,a[index3].score[2]);

}


int main()
{
	struct Student a[10];
	inputinfo(a);
	maxinfo(a);
	return 0;
}

 

先新建一个max变量初始化,然后输入一个数就比较一个数,将大的数赋值给max,最后输出max就好了