# C++ 程序：计算标准差

> 原文： [https://www.programiz.com/cpp-programming/examples/standard-deviation](https://www.programiz.com/cpp-programming/examples/standard-deviation)

#### 该程序使用数组计算 10 个数据的标准差。

要理解此示例，您应该了解以下 [C++ 编程](/cpp-programming "C++ tutorial")主题：

*   [C++ 数组](/cpp-programming/arrays)
*   [C++ `for`循环](/cpp-programming/for-loop) 
*   [C++ 函数](/cpp-programming/function)
*   [C++ `while`和`do...while`循环](/cpp-programming/do-while-loop)

* * *

该程序使用数组计算单个系列的标准差。 访问此页面以了解[标准差](http://www.mathsisfun.com/data/standard-deviation.html "Standard Deviation")。

为了计算标准差，创建了`calculateSD()`函数。 包含 10 个元素的数组将传递给该函数，此函数将计算标准差并将其返回给`main()`函数。

## 示例：通过将数组传递给函数来计算标准差

```cpp
#include <iostream>
#include <cmath>
using namespace std;

float calculateSD(float data[]);

int main()
{
    int i;
    float data[10];

    cout << "Enter 10 elements: ";
    for(i = 0; i < 10; ++i)
        cin >> data[i];

    cout << endl << "Standard Deviation = " << calculateSD(data);

    return 0;
}

float calculateSD(float data[])
{
    float sum = 0.0, mean, standardDeviation = 0.0;

    int i;

    for(i = 0; i < 10; ++i)
    {
        sum += data[i];
    }

    mean = sum/10;

    for(i = 0; i < 10; ++i)
        standardDeviation += pow(data[i] - mean, 2);

    return sqrt(standardDeviation / 10);
} 
```

**输出**

```cpp
Enter 10 elements: 1
2
3
4
5
6
7
8
9
10

Standard Deviation = 2.872281 
```