3.有10个学生,每个学生的数据包括学号、姓名、三门课的成绩。从键盘输入10个学生的数据,要求输入三门课程的总平均成绩,以及最高分学生的学号、姓名、三门课平均成绩、平均分数。
时间: 2023-06-08 16:08:29 浏览: 113
对于您的问题,ChitGPT可以为您提供以下解答:
首先,您可以使用一个包含学号、姓名和三门课成绩的类来储存学生信息,然后创建一个包含10个学生的数组,并从键盘输入学生信息。
接着,计算三门课程的总平均成绩可以通过遍历每个学生的成绩并将它们加起来,然后除以总学生数*3来得到。最高分学生的学号、姓名、三门课平均成绩和平均分数可以通过遍历每个学生并跟踪最高分的学生来得出。
具体代码如下:
```
#include <iostream>
#include <string>
using namespace std;
class Student {
public:
int id;
string name;
int score[3];
};
int main() {
Student students[10];
for (int i = 0; i < 10; i++) {
cout << "请输入第" << i+1 << "个学生的信息:" << endl;
cout << "学号:";
cin >> students[i].id;
cout << "姓名:";
cin >> students[i].name;
cout << "成绩1:";
cin >> students[i].score[0];
cout << "成绩2:";
cin >> students[i].score[1];
cout << "成绩3:";
cin >> students[i].score[2];
}
int sum = 0;
for (int i = 0; i < 10; i++) {
sum += students[i].score[0] + students[i].score[1] + students[i].score[2];
}
float average = sum / 30.0;
cout << "三门课程的总平均成绩为:" << average << endl;
int max_index = 0;
float max_average = (students[0].score[0] + students[0].score[1] + students[0].score[2]) / 3.0;
for (int i = 1; i < 10; i++) {
float current_average = (students[i].score[0] + students[i].score[1] + students[i].score[2]) / 3.0;
if (current_average > max_average) {
max_index = i;
max_average = current_average;
}
}
cout << "最高分学生的信息为:" << endl;
cout << "学号:" << students[max_index].id << endl;
cout << "姓名:" << students[max_index].name << endl;
cout << "三门课平均成绩:" << max_average << endl;
cout << "平均分数:" << (students[max_index].score[0] + students[max_index].score[1] + students[max_index].score[2]) / 3.0 << endl;
return 0;
}
```