C语言编程,有4个学生,每个学生的数据包括学号、姓名、3门课程的成绩。从键盘输入4个学生的数据,要求输出3门课程的总平均成绩,以及最高分的学生的学号、姓名、3门课程成绩、平均分数。
时间: 2023-12-15 19:56:05 浏览: 93
好的,我明白了你的要求。下面是针对你的问题的代码:
```
#include <stdio.h>
typedef struct {
int id;
char name[20];
int scores[3];
float avg;
} Student;
int main() {
Student students[4];
int i, j;
float sum = 0, highest_avg = 0;
int highest_idx;
printf("请输入4个学生的信息:\n");
for (i = 0; i < 4; i++) {
printf("请输入第%d个学生的学号、姓名、3个成绩, 以空格分隔:", i+1);
scanf("%d %s %d %d %d", &students[i].id, students[i].name,
&students[i].scores[0], &students[i].scores[1], &students[i].scores[2]);
sum += students[i].scores[0] + students[i].scores[1] + students[i].scores[2];
students[i].avg = (float)(students[i].scores[0] + students[i].scores[1] + students[i].scores[2]) / 3.0;
if (students[i].avg > highest_avg) {
highest_avg = students[i].avg;
highest_idx = i;
}
}
printf("\n3门课程的平均分数为:%.2f\n", sum/12.0);
printf("最高分的学生信息如下:\n");
printf("学号:%d\n", students[highest_idx].id);
printf("姓名:%s\n", students[highest_idx].name);
printf("3门课程成绩:");
for (j = 0; j < 3; j++) {
printf("%d ", students[highest_idx].scores[j]);
}
printf("\n平均分数:%.2f\n", students[highest_idx].avg);
return 0;
}
```
你可以把代码复制到你的 C 语言开发环境中运行,进行测试。希望我的回答能够帮到你。
阅读全文
相关推荐

















