写c语言代码,要求如下:有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生的数据,要求打印出3门课的平均成绩,以及平均成绩最高的学生的数据(包括学号、姓名、3门课成绩、平均分数)。
时间: 2023-12-15 21:23:59 浏览: 32
以下是符合要求的C语言代码:
```c
#include <stdio.h>
#include <string.h>
#define NUM_STUDENTS 10
#define NUM_SUBJECTS 3
struct Student {
char id[20];
char name[20];
float score[NUM_SUBJECTS];
float avg_score;
};
int main() {
struct Student students[NUM_STUDENTS];
float subject_avgs[NUM_SUBJECTS] = {0};
float max_avg_score = 0;
int max_avg_score_index = 0;
// 输入学生数据
for (int i = 0; i < NUM_STUDENTS; i++) {
printf("请输入第%d个学生的学号、姓名和3门课的成绩,用空格分隔:\n", i+1);
scanf("%s %s %f %f %f", students[i].id, students[i].name, &students[i].score[0], &students[i].score[1], &students[i].score[2]);
// 计算平均分数
float sum_score = 0;
for (int j = 0; j < NUM_SUBJECTS; j++) {
sum_score += students[i].score[j];
}
students[i].avg_score = sum_score / NUM_SUBJECTS;
// 计算每门课的平均分数
for (int j = 0; j < NUM_SUBJECTS; j++) {
subject_avgs[j] += students[i].score[j] / NUM_STUDENTS;
}
// 记录平均分数最高的学生
if (students[i].avg_score > max_avg_score) {
max_avg_score = students[i].avg_score;
max_avg_score_index = i;
}
}
// 输出每门课的平均分数
printf("每门课的平均分数为:\n");
for (int i = 0; i < NUM_SUBJECTS; i++) {
printf("第%d门课的平均分数为:%.2f\n", i+1, subject_avgs[i]);
}
// 输出平均分数最高的学生的数据
printf("平均分数最高的学生为:\n");
printf("学号:%s\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].score[0], students[max_avg_score_index].score[1], students[max_avg_score_index].score[2]);
printf("平均分数:%.2f\n", students[max_avg_score_index].avg_score);
return 0;
}
```
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)