C++题目57:指针实现求均方差 利用指针求一组数据的均方差。定义数组a[10],输入数组长度n(n<=10)及n个数组元素,定义指针p指向数组a,利用指针p求这组数据的均方差,并输出。输出格式:小数点后保留两位。 【输入形式】 n n个数组元素 【输出形式】 均方差
时间: 2024-02-06 14:12:04 浏览: 30
好的,这道题很简单,下面是 C++ 的代码实现:
```c++
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n;
double a[10], sum = 0, mean = 0, variance = 0;
double *p = a;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> *(p + i);
sum += *(p + i);
}
mean = sum / n;
for (int i = 0; i < n; i++) {
variance += pow(*(p + i) - mean, 2);
}
variance /= n;
cout << fixed << setprecision(2) << sqrt(variance) << endl;
return 0;
}
```
代码解析:
1. 定义整型变量 n 存储数组长度,定义双精度浮点型数组 a 存储 n 个数组元素,定义双精度浮点型变量 sum 存储数组元素的和,定义双精度浮点型变量 mean 存储数组的平均值,定义双精度浮点型变量 variance 存储均方差。
2. 定义双精度浮点型指针 p 指向数组 a,使用指针 p 输入 n 个数组元素,并计算数组元素的和。
3. 计算数组的平均值 mean。
4. 使用指针 p 计算均方差 variance。
5. 输出均方差,保留小数点后两位。
注意:本题需要使用数学库中的 pow 和 sqrt 函数,需要头文件 #include <cmath>,以及使用 fixed 和 setprecision 函数保留小数点后两位。