输入6个学生的学号,姓名和C语言成绩,并存放在一个结构体数组中,从中查找出成绩最

2025-05-24 09:50:21
推荐回答(2个)
回答(1):

#include 

struct Student
{
char ID[15];
char Name[10];
int CScore;
}stu[6], MaxScore;

int main()
{
int sum = 0; //记录总成绩
float aver; //记录平均值

MaxScore.CScore = 0;
for (int i = 0; i < 6; i++)
{
scanf("%s %s %d", stu[i].ID, stu[i].Name, &stu[i].CScore);
sum += stu[i].CScore;
if (MaxScore.CScore < stu[i].CScore)
{
MaxScore = stu[i];
}
}

aver = sum * 1.0 / 6;

printf("The max score student name is : %s, average score is : %.2f\n", MaxScore.Name, aver);

return 0;
}

//测试样例:
//2018010901 麒麟 67
//2018010902 白虎 68
//2018010903 朱雀 86
//2018010904 玄武 99
//2018010905 青龙 61
//2018010906 冬雪 75
//The max score student name is : 玄武, average score is : 76.00

回答(2):

#include
typedef struct person
{
int number;
char name[20];
float scores;
}person;
void sort(person a[6])
{
int i;
float mod=0;
for(i=0;i<6;i++)
{
 if(mod mod=a[i].scores;
}
for(i=0;i<6;i++)
{
if(mod==a[i].scores)
printf("学号:%d姓名:%s成绩%f:\n",a[i].number,a[i].name,a[i].scores);
}

}