3.编写一个程序,实现从键盘输入3个学生数据(每个学生的数据包括学号、姓名、2门课程成绩的),输出每个学生2门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、2门课的成绩、平均分数)。
时间: 2023-12-15 09:00:53 浏览: 103
C语言程序设计-输入2个学生3门课的成绩,计算学生成绩平均分,课程平均分和最高分.
5星 · 资源好评率100%
以下是实现该程序的代码:
```c
#include <stdio.h>
#include <string.h>
struct student {
char id[10];
char name[20];
float score1;
float score2;
float average;
};
int main() {
struct student stu[3];
int i, max_index;
float max_average = 0;
for (i = 0; i < 3; i++) {
printf("请输入第 %d 个学生的学号、姓名、2门课成绩:\n", i+1);
scanf("%s%s%f%f", stu[i].id, stu[i].name, &stu[i].score1, &stu[i].score2);
stu[i].average = (stu[i].score1 + stu[i].score2) / 2;
if (stu[i].average > max_average) {
max_average = stu[i].average;
max_index = i;
}
}
printf("每个学生的2门课平均成绩如下:\n");
for (i = 0; i < 3; i++) {
printf("学号:%s,姓名:%s,平均成绩:%.2f\n", stu[i].id, stu[i].name, stu[i].average);
}
printf("最高分的学生的数据如下:\n");
printf("学号:%s,姓名:%s,第一门课成绩:%.2f,第二门课成绩:%.2f,平均成绩:%.2f\n",
stu[max_index].id, stu[max_index].name, stu[max_index].score1, stu[max_index].score2, stu[max_index].average);
return 0;
}
```
该程序首先定义了一个结构体 `student`,包含学号、姓名、两门课成绩和平均成绩。然后使用循环从键盘输入3个学生的数据,计算每个学生的平均成绩,同时找到最高分的学生。最后输出每个学生的平均成绩和最高分的学生的数据。
阅读全文