c++从键盘输入10个学生的数据有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,要求输出3门课程的总平均成绩,以及最高分的学生的学号、姓名、3门课程成绩、平均分数。(定义结构体)
时间: 2023-12-15 22:23:02 浏览: 335
可以使用以下 C++ 代码来实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
const int NUM_STUDENT = 10;
const int NUM_COURSE = 3;
struct Student {
int id;
string name;
float scores[NUM_COURSE];
};
int main() {
Student students[NUM_STUDENT];
float total_scores[NUM_COURSE] = {0}; // 总成绩
float max_avg_score = 0; // 最高平均分
int max_avg_score_idx = 0; // 最高平均分学生的下标
// 输入学生数据
for (int i = 0; i < NUM_STUDENT; i++) {
cout << "请输入第" << i+1 << "个学生的数据:" << endl;
cout << "学号:";
cin >> students[i].id;
cout << "姓名:";
cin >> students[i].name;
for (int j = 0; j < NUM_COURSE; j++) {
cout << "第" << j+1 << "门课程成绩:";
cin >> students[i].scores[j];
total_scores[j] += students[i].scores[j]; // 更新总成绩
}
cout << endl;
}
// 计算平均分和最高平均分学生
for (int i = 0; i < NUM_STUDENT; i++) {
float avg_score = 0;
for (int j = 0; j < NUM_COURSE; j++) {
avg_score += students[i].scores[j];
}
avg_score /= NUM_COURSE;
if (avg_score > max_avg_score) {
max_avg_score = avg_score;
max_avg_score_idx = i;
}
}
// 输出结果
cout << "3门课程的总平均成绩:" << endl;
for (int j = 0; j < NUM_COURSE; j++) {
cout << "第" << j+1 << "门课程:" << total_scores[j] / NUM_STUDENT << endl;
}
cout << "最高分的学生的学号、姓名、3门课程成绩、平均分数:" << endl;
cout << students[max_avg_score_idx].id << " "
<< students[max_avg_score_idx].name << " ";
for (int j = 0; j < NUM_COURSE; j++) {
cout << students[max_avg_score_idx].scores[j] << " ";
}
cout << max_avg_score << endl;
return 0;
}
```
这里定义了一个 `Student` 结构体,其中包含了学生的学号、姓名和三门课程的成绩。首先从键盘输入每个学生的数据,并在输入的过程中更新总成绩。然后遍历所有学生计算平均分和找到最高平均分的学生,并输出结果。
阅读全文
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)