:C++难度: 中等 单个测试集评测时长限制:10秒 一个学习小组里有三个学生,每个学生学习三门课程,编程实现输入每个学生的姓名及其每门课程的成绩,输出每个学生的总分和平均分。
时间: 2024-09-29 21:03:39 浏览: 24
C++难度适中,适合初学者挑战但也适用于有一定经验的开发者,因为它涉及到基本的数据结构(如数组或vector来存储学生信息),控制流(遍历学生和课程),以及基础的输入输出操作。在这个任务中,你需要:
1. 定义一个数据结构,比如一个包含姓名、三门课程成绩的类(Student)。
2. 创建一个二维数组或vector来存储所有学生的数据。
3. 编写函数来接收用户输入,例如通过cin获取学生姓名和成绩。
4. 实现计算总分和平均分的方法,通常在Student类中作为成员函数。
5. 使用循环遍历每个学生,对他们的成绩求和并计算平均值。
6. 输出每个学生的信息,包括总分和平均分。
以下是简化版的伪代码示例:
```cpp
class Student {
public:
string name;
int scores[3];
void inputScores() {
for (int i = 0; i < 3; i++) {
cin >> scores[i];
}
}
int totalScore() {
int sum = 0;
for (int score : scores) {
sum += score;
}
return sum;
}
double averageScore() {
return static_cast<double>(totalScore()) / 3;
}
void display() {
cout << "Name: " << name << endl;
cout << "Total Score: " << totalScore() << endl;
cout << "Average Score: " << averageScore() << endl;
}
};
// 主函数
int main() {
vector<Student> students;
int numStudents;
// 输入学生人数和名字及成绩
cin >> numStudents;
for (int i = 0; i < numStudents; i++) {
Student student;
cin >> student.name;
student.inputScores();
students.push_back(student);
}
// 计算并显示所有学生的信息
for (const auto& student : students) {
student.display();
}
return 0;
}
```
阅读全文