利用结构体来实现:分别输入三位同学的名字,语文成绩,数学成绩,英语成绩,然后比较三位同学的平均成绩,并输出平均成绩最高的同学的名字和平均成绩。
时间: 2023-12-13 09:22:42 浏览: 112
好的,我可以帮你实现这个问题。以下是C++的代码:
```c++
#include <iostream>
#include <string>
using namespace std;
// 定义一个结构体来存储同学的信息
struct Student {
string name;
float chinese_score;
float math_score;
float english_score;
float average_score; // 平均成绩
};
int main() {
Student students[3]; // 定义一个存储三个同学信息的数组
// 输入三个同学的信息
for (int i = 0; i < 3; i++) {
cout << "请输入第" << i + 1 << "位同学的名字:";
cin >> students[i].name;
cout << "请输入该同学的语文成绩:";
cin >> students[i].chinese_score;
cout << "请输入该同学的数学成绩:";
cin >> students[i].math_score;
cout << "请输入该同学的英语成绩:";
cin >> students[i].english_score;
// 计算该同学的平均成绩
students[i].average_score = (students[i].chinese_score + students[i].math_score + students[i].english_score) / 3.0;
}
// 比较三个同学的平均成绩
int max_index = 0; // 默认第一个同学的平均成绩最高
for (int i = 1; i < 3; i++) {
if (students[i].average_score > students[max_index].average_score) {
max_index = i;
}
}
// 输出平均成绩最高的同学的名字和平均成绩
cout << "平均成绩最高的同学是:" << students[max_index].name << endl;
cout << "平均成绩为:" << students[max_index].average_score << endl;
return 0;
}
```
运行代码后,你可以输入三个同学的信息,然后程序会比较三个同学的平均成绩,并输出平均成绩最高的同学的名字和平均成绩。
阅读全文