这里有一道C语言编程题求各位大神帮忙

某小组有5人,从键盘上分别输入他们的学号、姓名、成绩,输出最高者的信息及平均成绩。
(1)运行要求
输入:5人的学号、姓名、成绩,成绩允许小数
输出:成绩最高的人的信息,成绩保留2位小数
(2)程序测试
001 小红 89
002 小明 76
003 小力 87
004 小马 98
005 小亮 76 (输入数据)

004 小马 98.00 85.20 (期望的输出)

输出:成绩最好的为:004 小马 98.00平均成绩为:85.20

#include <stdio.h>

struct Student
{
char ID[5];
char Name[10];
float Score;
}stu[5], max_score;

int main()
{
float sum = 0, ave = 0;            //定义两个变量,为了计算平均成绩
                                   //变量的意思:总成绩,平均成绩

for (int i = 0; i < 5; i++)
{
scanf("%s %s %f", stu[i].ID, 5, stu[i].Name, 10, &stu[i].Score);
sum += stu[i].Score;        //输入的同时,计算总成绩
}

ave = sum / 5;                      //平均成绩为总成绩 除以 5

max_score = stu[0];                 //初始化存放成绩最好的同学结构体变量
for (int i = 1; i < 5; i++)
{
if (max_score.Score < stu[i].Score)
{
max_score = stu[i]; //遍历,搜索成绩最好的同学,并存在结构体变量里
}
}

printf("成绩最好的为:%s %s %.2f平均成绩为:%.2f\n", max_score.ID, max_score.Name, max_score.Score, ave);

return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答