欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-06 08:34:41
...

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

#include <stdio.h>
#include <stdlib.h>

typedef struct 
{
	int num;
	char name[10];
	double score[3];
}Student;
void print(Student *stu)
{
	double avg[10];
	double max = avg[0];
	int flag = 0;
	for (int i = 0; i < 10; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			avg[i] = (stu[i].score[0] + stu[i].score[1] + stu[i].score[2])/3.0;
		}
	}
	for (int i = 0; i < 10; i++)
	{
		if (max < avg[i])
		{
			max = avg[i];
			flag = i;
		}
	}
	printf("最高分学生数据:%d %s %.2lf %.2lf %.2lf %.2lf", stu[flag].num, stu[flag].name, stu[flag].score[0], stu[flag].score[1], stu[flag].score[2], max);

}
void input(Student *stu)
{
	for (int i = 0; i < 5; i++)
	{
		scanf("%d%s%lf%lf%lf", &stu[i].num, &stu[i].name, &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
	}
}
int main()
{
	Student stu[10];
	input(stu);
	print(stu);
	system("pause");
	return 0;
}

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