由于沒有指明數(shù)據(jù)的來源,下面就從文本文件"data.txt"中取出一些學生的身高數(shù)據(jù),并計算平均值,方差和標準差!代碼如下:
成都一家集口碑和實力的網(wǎng)站建設服務商,擁有專業(yè)的企業(yè)建站團隊和靠譜的建站技術,十年企業(yè)及個人網(wǎng)站建設經(jīng)驗 ,為成都數(shù)千家客戶提供網(wǎng)頁設計制作,網(wǎng)站開發(fā),企業(yè)網(wǎng)站制作建設等服務,包括成都營銷型網(wǎng)站建設,高端網(wǎng)站設計,同時也為不同行業(yè)的客戶提供網(wǎng)站建設、成都網(wǎng)站建設的服務,包括成都電商型網(wǎng)站制作建設,裝修行業(yè)網(wǎng)站制作建設,傳統(tǒng)機械行業(yè)網(wǎng)站建設,傳統(tǒng)農業(yè)行業(yè)網(wǎng)站制作建設。在成都做網(wǎng)站,選網(wǎng)站制作建設服務商就選創(chuàng)新互聯(lián)建站。
#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("身高數(shù)據(jù):\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("? 學生人數(shù):%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語言傳遞參數(shù)均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。
3、不同的變量類型可以用結構體(struct)組合在一起。
4、只有32個保留字(reserved keywords),使變量、函數(shù)命名有更多彈性。
5、部份的變量類型可以轉換,例如整型和字符型變量。
6、通過指針(pointer),C語言可以容易的對存儲器進行低級控制。
7、預編譯處理(preprocessor)讓C語言的編譯更具有彈性。
//計算平均數(shù),方差,標準差。
#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的數(shù)組a進行統(tǒng)計,統(tǒng)計其平均值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);?//產生隨機小數(shù)[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個隨機小數(shù),得到其平均值大概在0.5左右,方差在0.08左右,標準差在0.28左右。說明系統(tǒng)自帶的隨機數(shù)發(fā)生器還是比較均勻的。
1。求每一個數(shù)與這個樣本數(shù)列的數(shù)學平均值之間的差,稱均差;
2。計算每一個差的平方,稱方差;
3。求它們的總和,再除以這個樣本數(shù)列的項數(shù)得到均方差;
4。再開根號得到標準方差!
/* 方差和 */
double num[10]; //用10長度的數(shù)組舉例
double sum = 0; //保存一下10個數(shù)的和
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平方函數(shù)求方差和
}
/* 求均方差 */
__average = pow2_sum/10;
/* 標準方差 */
ans = sqrt(__average);
網(wǎng)站欄目:用C語言函數(shù)求標準差 c語言中的標準函數(shù)
URL標題:http://jinyejixie.com/article2/dosdhic.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、建站公司、、微信公眾號、微信小程序、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)