用c语言写一个输入5个学生姓名及数学成绩、英语成绩、c语言成绩,输出每位学生的平均分,和平均分最高的学生姓名和三门成绩
时间: 2023-09-05 14:11:22 浏览: 133
c代码-输入5名学生的分数,并显示出他们的总分和平均分。
好的,以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
struct Student {
char name[20];
float math;
float english;
float c_language;
float average;
};
int main() {
struct Student students[5];
float highest_average = 0;
char highest_name[20];
// 输入学生信息
for (int i = 0; i < 5; i++) {
printf("请输入第%d个学生的姓名:", i+1);
scanf("%s", students[i].name);
printf("请输入%s的数学成绩:", students[i].name);
scanf("%f", &students[i].math);
printf("请输入%s的英语成绩:", students[i].name);
scanf("%f", &students[i].english);
printf("请输入%s的C语言成绩:", students[i].name);
scanf("%f", &students[i].c_language);
// 计算平均分
students[i].average = (students[i].math + students[i].english + students[i].c_language) / 3;
// 更新最高平均分学生信息
if (students[i].average > highest_average) {
highest_average = students[i].average;
strcpy(highest_name, students[i].name);
}
}
// 输出每位学生的平均分
printf("\n每位学生的平均分如下:\n");
for (int i = 0; i < 5; i++) {
printf("%s的平均分为%.2f\n", students[i].name, students[i].average);
}
// 输出平均分最高的学生信息
printf("\n平均分最高的学生为%s,其三门成绩分别为:数学%.2f,英语%.2f,C语言%.2f\n", highest_name, students[0].math, students[0].english, students[0].c_language);
return 0;
}
```
运行程序后,按照提示输入5个学生的姓名及三门成绩,程序将会输出每位学生的平均分,以及平均分最高的学生姓名和三门成绩。
阅读全文