我原有一个 y_statistics,给你改成int, 输出 mean,sigma,rms
#include
#include
#include
y_statistics(int *y, int N, float *ymean, float *ysigma, float *yrms)
{
int i;
float ys,yr,dy,ym;
double sum,sum2;
sum = 0.0;
for (i=0;i
*ymean = ym;
sum = 0.0;
sum2 = 0.0;
for (i=0;i
sum = sum + dy * dy;
sum2 = sum2 + y[i] * y[i];
};
yr = (float) sqrt( sum2 / (double) N );
ys = (float) sqrt( sum / (double) (N-1) );
*ysigma = (float) ys;
*yrms = yr;
}
void main() {
int y[5]={2,3,4,5,6};
int N=5;
float ymean, ysigma, yrms;
y_statistics(&y[0], N, &ymean, &ysigma, &yrms);
printf("%f %f %f\n",ymean, ysigma, yrms);
}
关键代码如下:
a[n] = {...} //写代码输入整数 n代表整数个数,你自己定义
int nSum = 0;
for( int i = 0; i< n; i++)
{
nSum += a[i];
}
m = nSum / m; //如果要浮点数,就加上强制转换
方差:
int nDelta = 0;
for (int j =0; j
nDelta += (a[i] - m) * (a[i] -m);
}
nDelta /= n;
nDelta = sqrt(nDelta);
#include
#include
#include
#define N 10
void main()
{
int i,x[N];
float m,c;
for(i=0;i
m=0;
for(i=0;i
m=m/N;
c=0;
for(i=0;i
c=pow(c/N,0.5);
printf("%8.2f, %8.2f\n",m,c);
}