使用c语言编写代码:有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生的数据,要求打印出3门课的平均成绩,以及平均成绩最高的学生的数据(包括学号、姓名、3门课成绩、平均分数)。
时间: 2023-12-15 11:49:41 浏览: 84
C语言程序设计-输入2个学生3门课的成绩,计算学生成绩平均分,课程平均分和最高分.
5星 · 资源好评率100%
以下是使用c语言编写的代码:
```c
#include <stdio.h>
#include <string.h>
struct student {
char id[10];
char name[20];
float score[3];
float avg_score;
};
int main() {
struct student stu[10];
float avg_score[3] = {0};
float max_avg = 0;
int max_index = 0;
// 从键盘输入10个学生的数据
for (int i = 0; i < 10; i++) {
printf("请输入第%d个学生的学号、姓名和三门课的成绩:\n", i + 1);
scanf("%s%s%f%f%f", stu[i].id, stu[i].name, &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
// 计算每门课的平均分数
avg_score[0] += stu[i].score[0];
avg_score[1] += stu[i].score[1];
avg_score[2] += stu[i].score[2];
// 计算每个学生的平均分数
stu[i].avg_score = (stu[i].score[0] + stu[i].score[1] + stu[i].score[2]) / 3.0;
if (stu[i].avg_score > max_avg) {
max_avg = stu[i].avg_score;
max_index = i;
}
}
// 打印出3门课程的平均成绩
printf("三门课程的平均成绩分别为:%.2f %.2f %.2f\n", avg_score[0] / 10.0, avg_score[1] / 10.0, avg_score[2] / 10.0);
// 打印平均成绩最高的学生的数据
printf("平均成绩最高的学生的数据为:\n");
printf("学号:%s\n", stu[max_index].id);
printf("姓名:%s\n", stu[max_index].name);
printf("三门课程成绩:%.2f %.2f %.2f\n", stu[max_index].score[0], stu[max_index].score[1], stu[max_index].score[2]);
printf("平均分数:%.2f\n", stu[max_index].avg_score);
return 0;
}
```
运行程序后,可以依次输入10个学生的学号、姓名和三门课的成绩,然后程序会计算出3门课程的平均成绩,以及平均成绩最高的学生的数据。
阅读全文