c语言 键盘输入N个整数,分别求其中奇数,偶数的均方差。

如题所述

#include <stdio.h>
#include <math.h>
#define N 10
double calc(int *a, int n)
{
    double ave, r;
    int i;
    ave=0;
    for(i = 0; i<n; i ++)
        ave+=a[i];
    ave/=n;
    for(i = 0,r = 0; i<n; i ++)
        r+=(a[i]-ave)*(a[i]-ave);
    r/=n;
    r=sqrt(r);
    return r;
}

int main()
{
    int i,m,n;
    int a[N],b[N];
    for(i = m = n = 0; i<N; i ++)
    {
        scanf("%d", a+m);
        if(a[m]%2) b[n++] = a[m];
        else m ++;
    }
    printf("偶数均方差=%lf\n", calc(a,m));
    printf("奇数均方差=%lf\n", calc(b,n));
    
    return 0;
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答