有5个学生,每个学生的数据包括学号、姓名、三门课的成绩,打印出每个学生的总分、三门课的总平均成绩、以及总分最高的学生数据

输入5个学生的数据,每个学生的数据包括学号、姓名、三门课的成绩

输出每个学生的总分、三门课的总平均成绩、以及总分最高的学生数据(保留一位小数)

#include<stdio.h>

struct student
{
	long id;
	char name[10];
	int score[3];
}stu[5];

int main()
{
	int sum[5] = {0};
	float avg[5];
	int max = 0;
	int i, j;
	for (i = 0; i < 5; i++)
	{
		scanf("%ld %s", &stu[i].id, &stu[i].name);
		for (j = 0; j < 3; j++)
		{
			scanf("%d", &stu[i].score[j]);
		}
	}
	for (i = 0; i < 5; i++)
	{
		for (j = 0; j < 3; j++)
			sum[i] += stu[i].score[j];
		avg[i] = (float)sum[i] / 3;
	}
	for (i = 0; i < 5; i++)
		if (sum[i] > sum[max])
			max = i;
	printf("\n姓名 总分 平均成绩\n");
	for (i = 0; i < 5; i++)
	{
		printf("%s %d  %.1f", stu[i].name, sum[i], avg[i]);
		printf("\n");
	}
	printf("\n总分数最高的学生信息如下:\n");
	printf("%ld %s ", stu[max].id, stu[max].name);
	for (j = 0; j < 3; j++)
		printf("%d ", stu[max].score[j]);
	return 0;
}


版权声明:本文为phoenixFlyzzz原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。