设计使用动态数组, 对输入的全班学生的某门课成绩,进行均值和均方差计算。学生人数N由键盘输入。 若将 N个数 A[]的平均值记为 Avg,均方差计算公式为: Std = sqrt N (A 1 −Avg) 2 +(A 2 −Avg) 2 +...+(A N −Avg) 2 。 输入格式: 首先在第一行给出一个正整数 N(≤20 ),随后一行给出 N 个正整数,同行数字以空格分隔。 输出格式: 输出这N个数的均值、均方差,精度输出小数点后3位。
时间: 2023-06-25 21:05:00 浏览: 171
cpp代码-(一维数组)计算n位学生成绩的平均分与均方差
以下是使用动态数组的 C++ 代码实现:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n;
cin >> n;
// 动态分配数组空间
double* a = new double[n];
double sum = 0;
for(int i = 0; i < n; i++) {
cin >> a[i];
sum += a[i];
}
double avg = sum / n; // 计算平均值
double s = 0;
for(int i = 0; i < n; i++) {
s += pow(a[i] - avg, 2);
}
double std = sqrt(s / n); // 计算标准差
// 输出结果
printf("average = %.3f\n", avg);
printf("std = %.3f\n", std);
// 释放动态分配的数组空间
delete[] a;
return 0;
}
```
注:以上代码中使用了 `pow` 函数来计算平方,需要包含头文件 `cmath`。
阅读全文