C 语言程序计算均值、方差和标准差


2022年5月1日, Learn eTutorial
3674

什么是均值?

均值:它是一组值中所有元素的平均值。均值将一组中的值相加,然后用总和除以元素的数量。例如,如果一个集合有3个数字 [1,2,3],那么均值的计算方法是 1+2+3 = 6/3 = 2

什么是方差?

方差:它是均值与数据集中各值之差的平方的平均值。它被称为数据样本内数据的离散程度。

什么是标准差?

标准差:在我们求出方差后,可以通过取方差的平方根来计算标准差。

在这个C程序中,我们获取这些值并将其保存在一个数组中。均值的计算是通过使用一个 for 循环 来求和的平均值。之后,我们需要使用公式计算方差

 v_sum = v_sum + pow((nums[i] - avrg),2); 
 var = v_sum / (float) n; 

计算出方差后,就很容易求出标准差。为此,我们使用 sd = sqrt(var) 公式。最后,我们必须使用 printf 来显示结果。

算法

步骤 1:将头文件包含到C程序中,以使用内置函数。

步骤 2:定义并初始化数组和变量。

步骤 3:使用 printfscanf 函数从用户处接收项数的数值。

步骤 4:使用 for 循环scanf 从用户处接收数字并将这些数字添加到数组中。

步骤 5:开启一个从 i=0 到项数 nfor 循环 来计算均值。将每个元素相加并保存在 sum 中,然后将 sum 除以项数。

步骤 6:开启另一个从 i=0 到 nfor 循环来计算方差。在循环的每次迭代中计算,

 v_sum = v_sum + pow((nums[i] - mean), 2),然后使用公式 var = v_sum / (float) n

步骤 8:通过取 var 的平方根来计算标准差 sd

步骤 10:使用 printf 打印均值sdvar

C 语言源代码

                                          #include <stdio.h>
#include <math.h>
#define MAXSIZE 10

void main()
    {

        float nums[MAXSIZE];
        int  i, n;
        float mean, var, sd, sum=0, v_sum=0;   /* declares the variables*/
        printf("Enter the number of elements\n");   /* accepts values from user */
        scanf("%d", &n);
        printf("Enter %d real numbers\n",n);
           for (i = 0; i < n; i++)
            {
                scanf("%f", & nums[i]);
            }
            for(i=0; i<n; i++)   /* Compute the sum of all elements */
            {
                  sum = sum + nums[i]; 
            }
           mean = sum /(float) n;  /* Calculating the mean using the equation */
           for(i=0; i<n; i++)  /* Compute  variance  and standard deviation */
            {
                  v_sum= v_sum + pow((nums[i] - mean), 2);                  
            }
           var = v_sum / (float) n;   /* calculate the variance using general equation */                   
           sd = sqrt(var);  /* calculating standard deviation */
          
           /* prints the output mean, standard deviation, and variance */
           printf("Mean of all elements  = %.2f\n", mean);
           printf("The variance of all elements = %.2f\n", var);
           printf("Standard deviation SD = %.2f\n", sd);  
   }
                                      

输出

Enter the number of elements
6
Enter 6 real numbers
12
34
10
50
42
33
Mean of all elements  = 30.17
The variance of all elements = 215.47
Standard deviation SD = 14.68