c语言实现有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生的数据,要求打印出3门课的平均成绩,以及平均成绩最高的学生的数据(包括学号、姓名、3门课成绩、平均分数)。
时间: 2023-11-28 10:47:47 浏览: 128
c语言课程设计学生成绩管理系统
下面是C语言实现,具体注释已经在代码中说明:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENT 10
#define MAX_NAME_LENGTH 20
#define MAX_ID_LENGTH 10
struct Student {
char id[MAX_ID_LENGTH]; // 学号
char name[MAX_NAME_LENGTH]; // 姓名
float score1; // 第一门课成绩
float score2; // 第二门课成绩
float score3; // 第三门课成绩
float avg_score; // 平均分
};
int main() {
struct Student students[MAX_STUDENT];
float avg_score1 = 0, avg_score2 = 0, avg_score3 = 0; // 三门课的平均成绩
float max_avg_score = 0; // 最高平均分数
int max_avg_score_index = 0; // 最高平均分数的学生下标
// 输入学生信息
for (int i = 0; i < MAX_STUDENT; i++) {
printf("请输入学生%d的信息:\n", i + 1);
printf("学号:");
scanf("%s", students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("第一门课成绩:");
scanf("%f", &students[i].score1);
printf("第二门课成绩:");
scanf("%f", &students[i].score2);
printf("第三门课成绩:");
scanf("%f", &students[i].score3);
// 计算平均分
students[i].avg_score = (students[i].score1 + students[i].score2 + students[i].score3) / 3;
// 累加三门课成绩
avg_score1 += students[i].score1;
avg_score2 += students[i].score2;
avg_score3 += students[i].score3;
// 找出最高平均分数的学生
if (students[i].avg_score > max_avg_score) {
max_avg_score = students[i].avg_score;
max_avg_score_index = i;
}
}
// 计算三门课的平均成绩
avg_score1 /= MAX_STUDENT;
avg_score2 /= MAX_STUDENT;
avg_score3 /= MAX_STUDENT;
// 打印三门课的平均成绩
printf("\n三门课的平均成绩为:\n");
printf("第一门课:%.2f\n", avg_score1);
printf("第二门课:%.2f\n", avg_score2);
printf("第三门课:%.2f\n", avg_score3);
// 打印最高平均分数的学生信息
printf("\n平均分最高的学生信息为:\n");
printf("学号:%s\n", students[max_avg_score_index].id);
printf("姓名:%s\n", students[max_avg_score_index].name);
printf("第一门课成绩:%.2f\n", students[max_avg_score_index].score1);
printf("第二门课成绩:%.2f\n", students[max_avg_score_index].score2);
printf("第三门课成绩:%.2f\n", students[max_avg_score_index].score3);
printf("平均分数:%.2f\n", students[max_avg_score_index].avg_score);
return 0;
}
```
注意,上述代码中使用了结构体(struct)来存储每个学生的信息,这样可以方便地对每个学生的数据进行操作。同时,使用了循环语句来依次输入每个学生的信息,并计算三门课的平均成绩以及最高平均分数的学生信息。
阅读全文