1.从键盘输入若干名学生的信息,每个学生的信息包括学号、姓名,以及高等数学、大学英语及专业课三门课的成绩要求实现:(1)计算每个学生的总分,输出总分最高的学生的信息
时间: 2024-02-24 15:56:16 浏览: 102
学科、姓名、分数。 分别计算每门学科分数最高的前三名,并显示名次。写入MySQL中。
可以使用结构体来存储每个学生的信息和成绩,具体实现如下:
```c++
#include <iostream>
using namespace std;
struct Student {
int id; // 学号
string name; // 姓名
float math; // 高等数学成绩
float english; // 大学英语成绩
float major; // 专业课成绩
float total; // 总分
};
int main() {
const int N = 100; // 最大学生人数
Student students[N]; // 存储学生信息和成绩的数组
int n; // 学生人数
float maxTotal = 0; // 最高总分
// 输入学生信息和成绩
cout << "请输入学生人数(不超过" << N << "人):";
cin >> n;
for (int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "个学生的信息和成绩:" << endl;
cout << "学号:";
cin >> students[i].id;
cout << "姓名:";
cin >> students[i].name;
cout << "高等数学成绩:";
cin >> students[i].math;
cout << "大学英语成绩:";
cin >> students[i].english;
cout << "专业课成绩:";
cin >> students[i].major;
// 计算总分
students[i].total = students[i].math + students[i].english + students[i].major;
// 更新最高总分
if (students[i].total > maxTotal) {
maxTotal = students[i].total;
}
}
// 输出总分最高的学生信息
cout << "总分最高的学生信息如下:" << endl;
for (int i = 0; i < n; i++) {
if (students[i].total == maxTotal) {
cout << "学号:" << students[i].id << endl;
cout << "姓名:" << students[i].name << endl;
cout << "高等数学成绩:" << students[i].math << endl;
cout << "大学英语成绩:" << students[i].english << endl;
cout << "专业课成绩:" << students[i].major << endl;
cout << "总分:" << students[i].total << endl;
}
}
return 0;
}
```
在程序中,除了原来的结构体 `Student`,新增了一个成员变量 `total`,用来存储每个学生的总分。在输入学生信息和成绩的过程中,计算了每个学生的总分,并更新了最高总分。最后输出了总分最高的学生信息。
阅读全文