# C 程序：计算标准差

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

#### 在此示例中，您将学习使用数组计算 10 个数字的标准差。

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

*   [C 数组](/c-programming/c-arrays)
*   [将数组传递给 C 中的函数](/c-programming/c-arrays-functions)

* * *

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

为了计算标准差，我们创建了一个名为`calculateSD()`的函数。

* * *

## 计算标准差的程序

```c
#include <math.h>
#include <stdio.h>
float calculateSD(float data[]);
int main() {
    int i;
    float data[10];
    printf("Enter 10 elements: ");
    for (i = 0; i < 10; ++i)
        scanf("%f", &data[i]);
    printf("\nStandard Deviation = %.6f", calculateSD(data));
    return 0;
}

float calculateSD(float data[]) {
    float sum = 0.0, mean, SD = 0.0;
    int i;
    for (i = 0; i < 10; ++i) {
        sum += data[i];
    }
    mean = sum / 10;
    for (i = 0; i < 10; ++i)
        SD += pow(data[i] - mean, 2);
    return sqrt(SD / 10);
} 
```

**输出**

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

Standard Deviation = 2.872281 
```

在这里，包含 10 个元素的数组将传递给`calculateSD()`函数。 该函数使用平均值计算标准差并将其返回。