均值:它是一组值中所有元素的平均值。均值将一组中的值相加,然后用总和除以元素的数量。例如,如果一个集合有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:使用 printf 和 scanf 函数从用户处接收项数的数值。
步骤 4:使用 for 循环 和 scanf 从用户处接收数字并将这些数字添加到数组中。
步骤 5:开启一个从 i=0 到项数 n 的 for 循环 来计算均值。将每个元素相加并保存在 sum 中,然后将 sum 除以项数。
步骤 6:开启另一个从 i=0 到 n 的 for 循环来计算方差。在循环的每次迭代中计算,
v_sum = v_sum + pow((nums[i] - mean), 2),然后使用公式 var = v_sum / (float) n
步骤 8:通过取 var 的平方根来计算标准差 sd。
步骤 10:使用 printf 打印均值、sd 和 var。
#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