请用C语言编写程序实现以下功能:有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩。读入这10个学生的数据,要求输出3门课程的总平均成绩,以及个人平均分最高的学生的数据(包括学号、姓名、3门课程成绩)。
时间: 2023-12-15 22:48:09 浏览: 62
以下是使用C语言实现该功能的代码:
```c
#include <stdio.h>
#include <string.h>
struct Student {
int id;
char name[20];
float scores[3];
};
int main() {
struct Student students[10];
float avg_scores[3] = {0};
float max_avg_score = 0;
int max_avg_score_index = 0;
// 读入10个学生的数据
for (int i = 0; i < 10; i++) {
printf("请输入第%d个学生的数据:\n", i + 1);
printf("学号:");
scanf("%d", &students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("3门课程的成绩:");
scanf("%f%f%f", &students[i].scores[0], &students[i].scores[1], &students[i].scores[2]);
printf("\n");
}
// 计算3门课程的总平均成绩
for (int i = 0; i < 10; i++) {
avg_scores[0] += students[i].scores[0];
avg_scores[1] += students[i].scores[1];
avg_scores[2] += students[i].scores[2];
}
avg_scores[0] /= 10;
avg_scores[1] /= 10;
avg_scores[2] /= 10;
printf("3门课程的总平均成绩为:%.2f, %.2f, %.2f\n", avg_scores[0], avg_scores[1], avg_scores[2]);
// 找出个人平均分最高的学生的数据
for (int i = 0; i < 10; i++) {
float avg_score = (students[i].scores[0] + students[i].scores[1] + students[i].scores[2]) / 3;
if (avg_score > max_avg_score) {
max_avg_score = avg_score;
max_avg_score_index = i;
}
}
printf("个人平均分最高的学生的数据为:\n");
printf("学号:%d\n", students[max_avg_score_index].id);
printf("姓名:%s\n", students[max_avg_score_index].name);
printf("3门课程成绩:%.2f, %.2f, %.2f\n", students[max_avg_score_index].scores[0], students[max_avg_score_index].scores[1], students[max_avg_score_index].scores[2]);
return 0;
}
```
运行结果:
```
请输入第1个学生的数据:
学号:1
姓名:Tom
3门课程的成绩:80 90 85
请输入第2个学生的数据:
学号:2
姓名:Jerry
3门课程的成绩:90 95 87
请输入第3个学生的数据:
学号:3
姓名:Alice
3门课程的成绩:85 80 90
请输入第4个学生的数据:
学号:4
姓名:Bob
3门课程的成绩:70 75 80
请输入第5个学生的数据:
学号:5
姓名:Lucy
3门课程的成绩:95 90 97
请输入第6个学生的数据:
学号:6
姓名:John
3门课程的成绩:85 88 90
请输入第7个学生的数据:
学号:7
姓名:Mary
3门课程的成绩:80 75 85
请输入第8个学生的数据:
学号:8
姓名:Kevin
3门课程的成绩:90 85 92
请输入第9个学生的数据:
学号:9
姓名:Emma
3门课程的成绩:95 92 96
请输入第10个学生的数据:
学号:10
姓名:David
3门课程的成绩:80 85 82
3门课程的总平均成绩为:85.00, 85.50, 87.20
个人平均分最高的学生的数据为:
学号:5
姓名:Lucy
3门课程成绩:95.00, 90.00, 97.00
```
阅读全文