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

字號:

題目91
    請編制程序prog1.c,從文件in.dat中讀取200個整數(shù)至數(shù)組xx中,求出奇數(shù)的個數(shù)cnt1和偶數(shù)的個數(shù)cnt2以及數(shù)組xx下標為偶數(shù)的元素值的算術平均值pj(保留2位小數(shù))。
     結果cnt1,cnt2,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 i,j,sum;
     int cnt1,cnt2,xx[n];
     float pj;
     file *fw;
    
     clrscr();
     fw=fopen("out.dat","w");
     read_dat(xx);
    /**********************/
     sum=0; pj=0.0; cnt1=cnt2=0;
     for(i=0;i { if(xx[i]%2) cnt1++;
     else cnt2++;
     if(i%2==0) {pj+=xx[i];sum++;}
     }
     pj/=sum;
    
    /***********************/
    
    printf("\n\ncnt1=%d,cnt2=%d,pj=%6.2f\n",cnt1,cnt2,pj);
    fprintf(fw,"%d\n%d\n%6.2f\n",cnt1,cnt2,pj);
    fclose(fw);
    }