动态内存分配,统计多个班级的所有学生的C++课程成绩。
时间: 2024-10-07 12:03:55 浏览: 43
动态内存分配是一种程序设计技术,它允许程序员在运行时而非编译时请求额外的内存空间。在C++中,我们可以使用`new`关键字为数组或对象动态地申请内存。例如,为了存储多个班级的学生及其C++课程成绩,你可以这样做:
```cpp
#include <iostream>
using namespace std;
// 定义学生结构体,包含姓名和成绩
struct Student {
string name;
int cplusplus_score;
};
int main() {
// 假设我们有三个班级
int numClasses = 3;
// 对于每个班级动态创建一个Student数组
Student** classScores = new Student*[numClasses]; // 分配每个班级一个Student指针
// 分别为每个班级分配内存并设置初始值(这里仅为示例,实际情况需填充)
for (int i = 0; i < numClasses; i++) {
classScores[i] = new Student[numStudentsInEachClass]; // 假设每个班级有numStudentsInEachClass个学生
// 给每个学生设置成绩
for (int j = 0; j < numStudentsInEachClass; j++) {
classScores[i][j].name = "Student" + to_string(i) + "_" + to_string(j);
classScores[i][j].cplusplus_score = 85; // 示例分数
}
}
// 现在可以操作每个班级的成绩
for (int i = 0; i < numClasses; i++) {
for (int j = 0; j < numStudentsInEachClass; j++) {
cout << classScores[i][j].name << "'s C++ score is: " << classScores[i][j].cplusplus_score << endl;
}
}
// 清理内存
for (int i = 0; i < numClasses; i++) {
delete[] classScores[i];
}
delete[] classScores;
return 0;
}
```
阅读全文