動態數組計算平均差等

#include <stdio.h>
#include<stdlib.h>
#include<math.h>
int main(int argc, char** argv) 
{
	int length,i;
	float *array=NULL,x_jun,d_jun,sum;
	printf("請輸入需要處理數值的數目:");
	scanf("%d",&length);
	array=(float*)malloc(sizeof(float)*length);
	if(array==NULL)
	{
		printf("No enough memory!\n");
		exit(0); 
	} 
    printf ("請輸入 %d 個需要計算的數值:",length);
    for(i=0;i<length;i++)
	{
    	scanf("%f",array+i);
	} 
    for(sum=0,i=0;i<length;i++){
    	sum=sum+*(array+i);
	}
	//printf("%f",sum);
	x_jun=sum/length;
	float tmp,d_xiangping,Sr,CV;
	for(tmp=0,i=0;i<length;i++)
	{
		tmp=tmp+fabs(*(array+i)-x_jun);
	}
	d_jun=tmp/length;
    d_xiangping=100*d_jun/x_jun; 
    for(tmp=0,i=0;i<length;i++)
    {
    	tmp=tmp+pow((*(array+i)-x_jun),2);
	}
	Sr=pow((tmp/(length-1)),0.5);
	CV=100*Sr/x_jun;
    printf("x_jun=%.4f,d_jun=%.4f,d_xiangping=%.4f%%\n",x_jun,d_jun,d_xiangping);
    printf("Sr=%.4f,CV=%.4f%%\n",Sr,CV);
	free(array); 
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章