189 8069 5689

c语言设计一求标准差函数,c语言标准差函数编程

C语言程序实现求一组数的平均值的标准方差

1。求每一个数与这个样本数列的数学平均值之间的差,称均差;

成都创新互联从2013年创立,是专业互联网技术服务公司,拥有项目成都做网站、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元新郑做网站,已为上家服务,为新郑各地企业和个人服务,联系电话:13518219792

2。计算每一个差的平方,称方差;

3。求它们的总和,再除以这个样本数列的项数得到均方差;

4。再开根号得到标准方差!

/* 方差和 */

double num[10]; //用10长度的数组举例

double sum = 0; //保存一下10个数的和

double pow2_sum = 0; //临时保存方差和

double __average; //临时保存均方差

double ans; //均方差

for(int i=0; i10; i++){

sum += num[i];

}

for(int i=0; i10; i++){

pow2_sum += pow(((sum/10)-num[i]), 2); //math.h平方函数求方差和

}

/* 求均方差 */

__average = pow2_sum/10;

/* 标准方差 */

ans = sqrt(__average);

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

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

#includestdio.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=0;ik;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语言的编译更具有弹性。

C语言求平均值,标准差

#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;in;i++)

{

scanf("%d",a[i]);

sum+=a[i];

}

aver=sum/n;

for(i=0;in;i++)

e+=(a[i]-aver)*(a[i]-aver);

e/=n-1;

s=sqrt(e);

printf("平均数为:%.2f,方差为:%.2f,标准差为:%.2f\n",aver,e,s);

}

非常急急!!!!用C语言函数求标准差,还有平均数

#includestdio.h

#include"math.h"

main()

{

float sum=0,s=0,mean,stand;

int i,j,value,a[100],n=0;

printf("Input values (input -1 to stop):\n");

scanf("%d",value);

while(value!=-1n=100)

{

a[n]=value;

sum+=a[n];

scanf("%d",value);

n++;

}

mean=sum/n;

printf("Number of items: %d\n\n",n);

for(j=0;jn;j++)

s+=(a[j]-mean)*(a[j]-mean);

stand=sqrt(s/n);

printf("Mean:%f\n\n",mean);

printf("standard deviation:%f\n\n",stand);}

用c语言定义一个函数,计算平均数,方差,标准差。(请用指针完成)

//计算平均数,方差,标准差。

#include stdio.h

#include conio.h

#include stdlib.h

#include time.h

#include math.h

#define N 100

void TongJi(double a[],int n,double *aver,double *vari,double *stdDev){

//对长度为n的数组a进行统计,统计其平均值aver、方差vari、标准差stdDev

int i;

double *p,aver2;

*aver=0.0;

for(p=a+(n-1);p=a;--p){

*aver+=*p;//累加各元素

aver2+=(*p)*(*p);//累加各元素的平方

}

*aver/=n;//求平均值

aver2/=n;//求平方的平均值

*vari=aver2-(*aver)*(*aver);//计算方差

*stdDev=sqrt(*vari);//计算标准差

}

int main(){

double a[N],pj,fc,bzc;

int i;

srand(time(NULL));

for(i=0;iN;++i){

a[i]=rand()/(RAND_MAX+1.0); //产生随机小数[0,1)

printf("%lg ",a[i]);

}

TongJi(a,N,pj,fc,bzc);

printf("\nPingJun=%lg, FangCha=%lg, BiaoZhunCha=%lg",pj,fc,bzc);

printf("\nFinished!\n");

getch();

return 0;

}

顺便做了一个测试:产生100个随机小数,得到其平均值大概在0.5左右,方差在0.08左右,标准差在0.28左右。说明系统自带的随机数发生器还是比较均匀的。


网站栏目:c语言设计一求标准差函数,c语言标准差函数编程
链接URL:http://cdxtjz.com/article/hdghoi.html

其他资讯