生成C语言代码:输入3个学生数据,每个学生数据包括学号、姓名、3门课程的成绩。从键盘输入3个学生数据,要求输出3门课程总平均成绩,以及最高分的学生数据(包括学号、姓名、3门课程平均成绩、平均分数)
时间: 2024-09-25 10:07:59 浏览: 435
在C语言中,你可以使用结构体和循环来实现这个功能。首先,定义一个结构体`Student`存储学生的数据:
```c
#include <stdio.h>
// 定义学生结构体
typedef struct {
int student_id;
char name[50];
float course1_score, course2_score, course3_score;
} Student;
int main() {
// 输入学生数据
Student students[3];
for (int i = 0; i < 3; i++) {
printf("请输入第%d位学生的信息(学号,姓名,三门课成绩):\n", i + 1);
scanf("%d", &students[i].student_id);
scanf("%s", students[i].name);
scanf("%f", &students[i].course1_score);
scanf("%f", &students[i].course2_score);
scanf("%f", &students[i].course3_score);
}
// 计算并输出总平均成绩和最高分学生信息
float total_avg = (students[0].course1_score + students[0].course2_score + students[0].course3_score) / 3.0;
Student max_student = students[0];
float max_avg = total_avg;
for (int i = 1; i < 3; i++) {
float avg = (students[i].course1_score + students[i].course2_score + students[i].course3_score) / 3.0;
if (avg > max_avg) {
max_student = students[i];
max_avg = avg;
}
}
printf("所有学生的平均成绩:%.2f\n", total_avg);
printf("最高分学生信息:\n");
printf("学号:%d\n", max_student.student_id);
printf("姓名:%s\n", max_student.name);
printf("平均成绩:%.2f\n", max_avg);
return 0;
}
```
在这个示例中,用户会依次输入三个学生的数据,然后程序计算总体平均成绩和找出平均成绩最高的学生。最后,输出这两个结果。
阅读全文
相关推荐














