c++从键盘上输入一个班的某课程的学生成绩,计算其平均值你。要求使用new动态分配内存存放学生成绩

如题所述

下面是一个示例程序,演示了如何从键盘上输入学生的成绩,使用 new 动态分配内存,并计算成绩的平均值:

```cpp
#include <iostream>

using namespace std;

int main() {
int n; // 学生数
cout << "请输入学生数:";
cin >> n;

// 动态分配内存
int* scores = new int[n];

// 输入成绩
cout << "请输入" << n << "个学生的成绩:" << endl;
for (int i = 0; i < n; i++) {
cin >> *(scores + i);
}

// 计算平均值
double sum = 0.0;
for (int i = 0; i < n; i++) {
sum += *(scores + i);
}
double average = sum / n;

cout << "平均成绩为:" << average << endl;

// 释放动态分配的内存
delete[] scores;

return 0;
}
```

在这个程序中,我们首先通过 `cin` 从键盘上读取需要输入的学生数。然后,使用 `new` 分配了一个 `int` 类型的数组,它的长度为学生数 `n`。

接下来,我们使用循环结构和指针运算符 `*`,从键盘上依次读取每一个学生的成绩,并存储在动态分配的数组中。

最后,我们再次使用循环结构和指针运算符 `*`,遍历数组中的元素,计算总分并求出平均值。注意,在计算平均值时需要将总分转换为浮点数类型,以避免整数除法舍去小数部分的问题。

最后,我们使用 `delete` 关键字释放动态分配的内存。
温馨提示:答案为网友推荐,仅供参考
相似回答