设计一个Array类,首先输入数组的个数,然后输入数组的每个元素值(采用double类型),最后计算这个数组所有元素的平均值,main函数如下: int main() { int n; cin >> n; Array a(n); for (int i = 0; i < n; i++) { double x; cin >> x; a.set(i, x); } cout << "average=" << a.Average() << endl; return 0; }
时间: 2024-03-15 14:46:55 浏览: 105
好的,我来设计一个Array类,实现你的要求。
```c++
#include <iostream>
using namespace std;
class Array {
private:
double *arr; // 动态分配数组的指针
int size; // 数组的大小
public:
Array(int n) { // 构造函数:动态分配数组
size = n;
arr = new double[size];
}
~Array() { // 析构函数:释放动态分配的数组
delete[] arr;
}
void set(int index, double value) { // 设置数组元素
arr[index] = value;
}
double Average() { // 计算平均值
double sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
return sum / size;
}
};
int main() {
int n;
cin >> n;
Array a(n);
for (int i = 0; i < n; i++) {
double x;
cin >> x;
a.set(i, x);
}
cout << "average=" << a.Average() << endl;
return 0;
}
```
这个Array类有三个私有成员变量:指向动态分配数组的指针`arr`,数组的大小`size`。在构造函数中,使用`new`运算符动态分配长度为`size`的double类型数组。在析构函数中,使用`delete[]`运算符释放动态分配的数组。公有成员函数`set`用于设置数组元素。公有成员函数`Average`用于计算数组元素的平均值。在main函数中,首先输入数组的个数,然后动态分配一个长度为n的Array对象a。利用循环输入数组的每个元素值,通过a对象的`set`函数设置数组元素。最后输出平均值。
阅读全文