函数ReadDat()实现从数据文件in.dat中读取1000个十进制整数到数组xx中,请编写函数Compute()分别计算出数组XX中数值为奇数的个数odd,数组xx中所有奇数的平均值ave1,并求出数组xx中数值为偶数的平均值ave2以及所有奇数的方差

admin2013-12-10  25

问题 函数ReadDat()实现从数据文件in.dat中读取1000个十进制整数到数组xx中,请编写函数Compute()分别计算出数组XX中数值为奇数的个数odd,数组xx中所有奇数的平均值ave1,并求出数组xx中数值为偶数的平均值ave2以及所有奇数的方差totfe的值,最后调用函数WriteDat()把结果输出到out.dat文件中。计算方差的公式如下:

   设N为奇数的个数,xx为奇数,avel为奇数的平均值。
    原始数据文件存放的格式是:每行存放10个数,并用逗号隔开(每个数均大于0且小于等于2000)。
【试题程序】
    #include
    #include
    #include
    世define MAX 1000
    int xxEMAX],odd=0,even=O;
    double avel=0.0,ave2=0.0,totfc=0.0;
    void WriteDat(void)l
    int ReadDat(void)
    {
    FILE*fp;
    int i;
    if((fp=fopen(“in.dat”,“r”))==NULL:
    return 1;
    for(i=0;i    fscanf(fp,“%d,”,&xx);
    fclose(fp);
    return 0;
    }
    void Compute(void)
    {
    }
    void main()
    {
    int i;
    for(i=0;i=0;
    if(ReadDat()){
    printf(”数据文件IN.DAT不能打开!\007\n”);
    return;
    }
    Compute();
    printf(”ODD=%d\nAVE1=%if\nAVE2=%if\nTOTFC=%If\n”,odd,ave1,ave2,totfc);
    WriteDat();
    }
    void WriteDat(void)
    {
    FILE*fp;
    fp=fopen(“out.dat”。“w”);
    fprintf(fp,“%d\n%If\n%If\n%If\n”,odd,ave1,ave2,totfc);
    fclose(fp);
    }

选项

答案void Compute(void) {int if /*定义变量*/ for(i=0;i
解析
转载请注明原文地址:https://kaotiyun.com/show/6ElZ777K
0

最新回复(0)