C语言 求方差

Python016

C语言 求方差,第1张

直接上代码:

#include <stdio.h>

#include <conio.h>

#include <math.h>

double fangcha(double x[], int n){

 //求数组x(具有n个元素)的方差:S=(<x^2>-<x>)^0.5

 int i

 double xaver=0.0, x2aver=0.0

 for(i=0i<n++i){

  xaver+=x[i] x2aver+=x[i]*x[i]

 }

 xaver/=n x2aver/=n //求x的平均、x^2的平均

 return sqrt(x2aver-xaver*xaver)

}

int main(){

 double x[5]

 int i

 printf("Input 5 datas:\n")

 for(i=0i<5++i){

  scanf("%lf",&x[i])

 }

 printf("\nFangCha S=%.4lf",fangcha(x,5))

 printf("\nFinished!\n")

 getch()

 return 0

}

希望能帮助到你。

#include <stdio.h>

int main ( void )

{

float *x, *p, E, D

int i, n

printf ( "n=" )

scanf ( "%d", &n )

p = x = (float*) malloc ( sizeof(float) * n )

E = D = 0.0

for ( i = ni >0i-- )

{

scanf ( "%f", p )

E += *p++

}

E /= n

p = x

for ( i = ni >0i-- )

{

float tmp

tmp = *p++ - E

D += tmp * tmp

}

D /= n

free ( x )

printf ( "%f", D )

return 0

}

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

#include<stdio.h>

#include <math.h>

#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=0i<ki++)

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语言的编译更具有弹性。