用C语言如何算平均数和方差及标准差

2025-03-01 03:02:56
推荐回答(3个)
回答1:

由于没有指明数据的来源,下面就从文本文件"data.txt"中取出一些学生的身高数据,并计算平均值,方差和标准差!代码如下:

#include

#include

#define hh printf("\n===================================\n");

void main()

{

FILE *fp; 

float a[520],x,avr,fc,bzc,t,sum=0.0;

int i,k=0;

fp=fopen("D:\\data.txt","r");

if(fp==NULL)

printf("文件打开失败!\n");

else

printf("身高数据:\n");

fscanf(fp,"%f",&x);

while(x!=0)

{

a[k++]=x;

printf("%.0f ",x);

sum+=x;

fscanf(fp,"%f",&x);

avr=sum/k;

sum=0; 

for(i=0;i

sum+=(a[i]-avr)*(a[i]-avr);

fc=sum/(k-1);

bzc=sqrt(fc);hh

printf("  学生人数:%d\n",k);

printf("  身高均值:%.2f\n",avr);

printf("  身高方差:%.2f\n",fc);

printf("身高标准差:%.2f\n",bzc);

}

hh

fclose(fp);

}


扩展资料:

c语言的特点

1、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。

2、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。

3、不同的变量类型可以用结构体(struct)组合在一起。

4、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。

5、部份的变量类型可以转换,例如整型和字符型变量。

6、通过指针(pointer),C语言可以容易的对存储器进行低级控制。

7、预编译处理(preprocessor)让C语言的编译更具有弹性。

回答2:

#include "stdio.h"
#include "math.h"
#define N 100
void main()
{
int a[N],n,i;
float aver,s;
float sum=0,e=0;
printf("请输入样本量:");
scanf("%d",&n);
printf("请输入%d个样本:",n);
for(i=0;i {
scanf("%d",&a[i]);
sum+=a[i];
}
aver=sum/n;
for(i=0;i e+=(a[i]-aver)*(a[i]-aver);
e/=n-1;
s=sqrt(e);
printf("平均数为:%.2f,方差为:%.2f,标准差为:%.2f\n",aver,e,s);
}

回答3:

这个math.c里面有 建议看看