c語言平均值函數
發布時間: 2025-02-24 12:44:48
① c語言里的 函數average() 什麼意思
② c語言:函數用於計算數組中存放的數據的平均值,最大值,最小值
#include<stdio.h>
void f(float a[],int n){
scanf("%f",&a[0]);
a[n]=a[n+1]=a[n+2]=a[0];
for(int i=1;i<n;++i ){
scanf("%f",&a[i]);
a[n]+=a[i];//累加和
if(a[n+2]>a[i])a[n+2]=a[i];//最小值存入a[n+2]
if(a[n+1]<a[i])a[n+1]=a[i];//最大值存入a[n+1]
}
a[n+3]=a[n]/n ;//平均值存a[n+3]
}
int main(){
int n;
printf("請輸入數組長度:",&n);
scanf("%d",&n);
float a[n];
f(a,n);
printf("平均值:%f ",a[n+3]);
printf("最大值:%f ",a[n+1]);
printf("最小值:%f ",a[n+2]);
}
③ 用c語言定義一個函數,計算平均數,方差,標准差。(請用指針完成)
//計算平均數,方差,標准差。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
#defineN100
voidTongJi(doublea[],intn,double*aver,double*vari,double*stdDev){
//對長度為n的數組a進行統計,統計其平均值aver、方差vari、標准差stdDev
inti;
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);//計算標准差
}
intmain(){
doublea[N],pj,fc,bzc;
inti;
srand(time(NULL));
for(i=0;i<N;++i){
a[i]=rand()/(RAND_MAX+1.0);//產生隨機小數[0,1)
printf("%lg",a[i]);
}
TongJi(a,N,&pj,&fc,&bzc);
printf(" PingJun=%lg,FangCha=%lg,BiaoZhunCha=%lg",pj,fc,bzc);
printf(" Finished! ");
getch();
return0;
}
順便做了一個測試:產生100個隨機小數,得到其平均值大概在0.5左右,方差在0.08左右,標准差在0.28左右。說明系統自帶的隨機數發生器還是比較均勻的。
熱點內容