现有 N(1<N≤1000) 名同学参加了期末考试,并且获得了每名同学的信息:语文、数学、英语成绩(均为不超过 150 的自然数),请编程计算每位同学的总成绩(使用二维数组)。
时间: 2024-12-14 08:24:28 浏览: 15
当然,你可以使用一个二维数组来存储每个同学的三门课程的成绩。首先,定义一个结构体或类来表示学生,包含姓名和三个整数类型的成员变量分别代表语文、数学和英语成绩。然后创建一个大小为N的动态数组,其中每个元素都是这个学生结构体的一个实例。
以下是一个简单的C++代码示例:
```cpp
#include <iostream>
#include <string>
// 定义学生结构体
struct Student {
std::string name;
int chinese, math, english;
};
int main() {
// 输入学生数量
int N;
std::cout << "请输入学生人数(N,1<N<=1000): ";
std::cin >> N;
// 检查输入是否合法
if (N < 1 || N > 1000) {
std::cerr << "错误:学生人数必须在1到1000之间!" << std::endl;
return 1;
}
// 创建二维数组来存储学生信息
Student students[N];
for (int i = 0; i < N; ++i) {
// 询问并录入每位学生的姓名和成绩
std::cout << "请输入第 " << i+1 << " 位同学的名字及各科成绩:" << std::endl;
std::cin >> students[i].name >> students[i].chinese >> students[i].math >> students[i].english;
// 计算总成绩
int total_score = students[i].chinese + students[i].math + students[i].english;
std::cout << "学生 " << students[i].name << " 的总成绩是: " << total_score << std::endl;
}
return 0;
}
```
在这个代码中,我们首先获取学生数量N,然后对每位同学进行循环,依次输入他们的名字和三门课程的成绩。然后,我们将这些成绩相加得到总分,并输出结果。
阅读全文