全國計算機等級考試二級C語言上機92

字號:

☆題目92
    請編制程序prog1.c,從文件in.dat中讀取200個整數(shù)至數(shù)組xx中,求出數(shù)max及數(shù)的個數(shù)cnt和數(shù)組xx中能被3整除或能被7整除的算術(shù)平均值pj(保留2位小數(shù))。
     結(jié)果max,cnt,pj輸出到out.dat中。
     部分程序、讀數(shù)據(jù)函數(shù)read_dat(int xx[200])及輸出格式已給出。
    #include
    #include
    #define n 200
    
    void read_dat(int xx[n])
    {
     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*10+j]);
     }
     printf("\n");
     }
     fclose(fp);
    }
    
    void main()
    {
     int m,temp,n,sum;
     int cnt,xx[n],max ;
     float pj;
     file *fw;
    
     clrscr();
     fw=fopen("out.dat","w");
     read_dat(xx);
    /*********************/
     cnt=0; max=xx[0]; pj=0.0; n=0;
     for(m=0;m if(max for(m=0;m {if(xx[m]==max) cnt++;
     if(xx[m]%3==0||xx[m]%7==0)
     { pj+=xx[m]; n++; }
     }
     pj/=n;
    
    /*********************/
    
    printf("\n\nmax=%d,cnt=%d,pj=%6.2f\n",max,cnt,pj);
    fprintf(fw,"%d\n%d\n%6.2f\n",max,cnt,pj);
    fclose(fw);
    }