从键盘输入若干名学生的信息,每个学生的信息包括学号、姓名,以及高等数学、大学英语及专业课三门课的成绩,要求实现:计算每个学生的总分,输出总分最高的学生的信息 用c语言
时间: 2024-01-06 16:07:14 浏览: 111
好的,这是一个简单的学生成绩管理系统,可以满足你的需求。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENTS 100
struct Student {
char id[20];
char name[20];
float math;
float english;
float major;
float total;
};
int main() {
struct Student students[MAX_STUDENTS];
int n;
printf("请输入学生人数(不超过 %d 人):", MAX_STUDENTS);
scanf("%d", &n);
// 输入学生信息
for (int i = 0; i < n; i++) {
printf("请输入第 %d 个学生的信息:\n", i + 1);
printf("学号:");
scanf("%s", students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("高等数学成绩:");
scanf("%f", &students[i].math);
printf("大学英语成绩:");
scanf("%f", &students[i].english);
printf("专业课成绩:");
scanf("%f", &students[i].major);
students[i].total = students[i].math + students[i].english + students[i].major;
}
// 计算总分最高的学生
struct Student *best_student = &students[0];
for (int i = 1; i < n; i++) {
if (students[i].total > best_student->total) {
best_student = &students[i];
}
}
// 输出总分最高的学生信息
printf("总分最高的学生信息如下:\n");
printf("学号:%s\n", best_student->id);
printf("姓名:%s\n", best_student->name);
printf("高等数学成绩:%.2f\n", best_student->math);
printf("大学英语成绩:%.2f\n", best_student->english);
printf("专业课成绩:%.2f\n", best_student->major);
printf("总分:%.2f\n", best_student->total);
return 0;
}
```
输入样例:
```
请输入学生人数(不超过 100 人):3
请输入第 1 个学生的信息:
学号:101
姓名:张三
高等数学成绩:90
大学英语成绩:85
专业课成绩:80
请输入第 2 个学生的信息:
学号:102
姓名:李四
高等数学成绩:80
大学英语成绩:90
专业课成绩:85
请输入第 3 个学生的信息:
学号:103
姓名:王五
高等数学成绩:85
大学英语成绩:80
专业课成绩:90
```
输出样例:
```
总分最高的学生信息如下:
学号:101
姓名:张三
高等数学成绩:90.00
大学英语成绩:85.00
专业课成绩:80.00
总分:255.00
```
阅读全文