计算机四级机试-2
(总分100, 做题时间90分钟)
上机题

1. 
已知数据文件in. dat中存有10组每组20个四位数的数据,每个数据间用空格分隔,调用读函数ReadDat()把这10组数据存人数组aa中(其中,aa定义为 int aa[10][20])。请编制一函数jsVal(),其功能是;首先去掉每组中首尾位置的两个数,接着计算其余18个数的算术平均值,并将计算结果依次存人数组bb中(其中,数组 bb定义为float bb[10]),然后把数组bb中的值按从大到小的顺序进行排序,排序后结果仍存人数组bb中,最后调用写函数WriteDat()把结果bb输出到文件out. dat中。
   注意:部分源程序已给出。
   程序中已定义全局变量:aa[10][20]、bb[10]。
   请勿改动数据文件in. dat中的任何数据、主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
   ·试题程序
         # include <stdio. h>
        int aa[10][20]
        float bb[10]
        void jsVal()
       


       
       void ReadDat()
       
            int i, j
            FILE * fP;
            fp = fopen("in.darn","r")
            for(i=0; i<10~;i++)
                for(j=0; j<20; j++) fscanf(fP,"%d", &aa[i][j])
            fclose(p)
       
       void main()
       
            int i
            ReadDat();    / * 读数据* /
            jsVal();      / * 按要求计算* /
       for(i=0; i<10; i++) /* 从屏幕输出结果* /
          printf("%6.2lf\n", bb[i]);
     
      WriteDat()
     
        FILE * fp;
        int i;
        fp = fopen("out, dat", "w")
        for(i=0; i<10; i++)
           fprintf(fp,"%6.21f\n, bb[i])
        fclose(fp);

答题卡