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

admin2013-12-10  25

问题 函数ReadDat()实现从数据文件in.dat中读取1000个十进制整数到数组xx中,请编写函数Compute(),分别计算出数组XX中数值为偶数的个数even。所有数值为奇数的平均值avel,偶数的平均值ave2以及所有偶数的方差totfc的值,最后调用函数WriteDat()把结果输出到out.dat文件中。计算方差的公式如下:
    设N为偶数的个数,xx为偶数,ave2为偶数的平均值。
    原始数据文件存放的格式是:每行存放10个数,并用逗号隔开(每个数均大于0且小于等于2000)。
【试题程序】
    #include
    #include
    #include
#define MAX 1000
    int xx[MAX]。even=0;
    double ave]=0.0,ave2=0.0,totfc=0.0;
    void WriteDat(void);
    int ReadDat(void)
    {
    FILE*fp;
    int i;
    if((fp=fopen(“in,dat”,“r”))==NULL)
    return 1;
    for(i=0;i    fseanf(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(“EVEN=%d\nAVE1=%If\nAVE2=%lf\nTOTFC=%lf\n”,even,avel,ave2,totfc);
    WriteDat();
    }
    void WriteDat(void)
    {
    FILE*fp;
    fp=fopen(“out.da.t”,“w”),
    fprintf(fp,“%d\n%If\n%if\n%If\n”,
even,avel,ave2,totfc);
  fclose(fp);
  }

选项

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

最新回复(0)