将数据文件in.dat中的200个整数读至数组xx中。请编写jsValue()函数,要求:求出数组XX中的最大数max及最大数的个数cnt和数组xx中的元素值能被3整除或能被7整除的所有数的算术平均值pJ。并将结果max,cnt,pj输出到out.dat中

admin2013-12-10  0

问题 将数据文件in.dat中的200个整数读至数组xx中。请编写jsValue()函数,要求:求出数组XX中的最大数max及最大数的个数cnt和数组xx中的元素值能被3整除或能被7整除的所有数的算术平均值pJ。并将结果max,cnt,pj输出到out.dat中。
【试题程序】
    #include
    #define N 200
    int max,cnt,xxEN3;
    float Pj;    /*平均值*/
    void writeDat();
    void jsValue()
    {
    }
    void read_dat(int xxEN3)
    {
    int i,j;
    FILE*fp;
    fp=fopen(“in.dat”,”r”);
    for(i=0,i<20;i++){
    for(j=0,j<10;j++){
    fscanf(fp,“%d,”,&xx[i*10+j]);
    printf(“%d”.xx[’i*1()+j]);
    }
    printf(“\n”);
    }
    fclose(fp);
    }
    void main()
    {
    read  dat(xx),
    jsValue();
    printf(“\n\nmax=%d,cnt=%d,pj=%6.2f\n”,max,cnt,pj);
    writeDat();
    }
    void writeDat()
    {
    FILE*fWl
    fw=fopen(“out.dat”,“w”);
    fprintf(fw,“%d\n%d\n9,56.2f\n”,max,cnt,Pj)}
    fclose(fw):
    }

选项

答案void jsValue() {int i,cnt2; /*定义变量*/ max=cnt=ent2=0; /*变量初始化*/ for(i=0;imax)/*最大数重置*/ {max=xx[i]; cnt=0; } if(xx[i]==max) /*最大数计数*/ cnt++; if(xx[i]%3==0||xx[i]%7=一0) /*统计求和*/ {Pj+=xx[i]; ent2++; } } pj/=ent2; /*求平均值*/ }

解析
转载请注明原文地址:https://kaotiyun.com/show/GElZ777K
0

最新回复(0)