c语言编写一个程序输入5个学生的学号姓名三门课程的成绩,输出所有同学成绩和总分最高的学生
时间: 2023-11-16 13:15:22 浏览: 130
C语言程序设计-输入2个学生3门课的成绩,计算学生成绩平均分,课程平均分和最高分.
5星 · 资源好评率100%
好的,以下是一个简单的 C 语言程序,可以实现你的需求:
```c
#include <stdio.h>
#include <string.h>
struct student {
char id[20];
char name[20];
float score1;
float score2;
float score3;
float total_score;
};
int main() {
struct student stu[5];
int i, max_index;
float max_score = 0;
// 输入学生信息
for (i = 0; i < 5; i++) {
printf("请输入第%d个学生的学号:", i+1);
scanf("%s", stu[i].id);
printf("请输入第%d个学生的姓名:", i+1);
scanf("%s", stu[i].name);
printf("请输入第%d个学生的第一门课程成绩:", i+1);
scanf("%f", &stu[i].score1);
printf("请输入第%d个学生的第二门课程成绩:", i+1);
scanf("%f", &stu[i].score2);
printf("请输入第%d个学生的第三门课程成绩:", i+1);
scanf("%f", &stu[i].score3);
stu[i].total_score = stu[i].score1 + stu[i].score2 + stu[i].score3;
}
// 输出所有学生的信息
printf("所有学生的信息如下:\n");
for (i = 0; i < 5; i++) {
printf("学号:%s\n", stu[i].id);
printf("姓名:%s\n", stu[i].name);
printf("第一门课程成绩:%.2f\n", stu[i].score1);
printf("第二门课程成绩:%.2f\n", stu[i].score2);
printf("第三门课程成绩:%.2f\n", stu[i].score3);
printf("总分:%.2f\n", stu[i].total_score);
printf("\n");
}
// 求总分最高的学生
for (i = 0; i < 5; i++) {
if (stu[i].total_score > max_score) {
max_score = stu[i].total_score;
max_index = i;
}
}
// 输出最高分学生的信息
printf("总分最高的学生是:\n");
printf("学号:%s\n", stu[max_index].id);
printf("姓名:%s\n", stu[max_index].name);
printf("第一门课程成绩:%.2f\n", stu[max_index].score1);
printf("第二门课程成绩:%.2f\n", stu[max_index].score2);
printf("第三门课程成绩:%.2f\n", stu[max_index].score3);
printf("总分:%.2f\n", stu[max_index].total_score);
return 0;
}
```
程序中定义了一个结构体 `student`,用来存储每个学生的信息,包括学号、姓名、三门课程的成绩和总分。程序先循环输入五个学生的信息,然后循环输出每个学生的信息,最后循环求出总分最高的学生,输出该学生的信息即可。
阅读全文