當前位置:才華齋>計算機>計算機四級>

2016年計算機等級考試四級考試上機題

計算機四級 閱讀(1.89W)

已知資料檔案中存有200個四位數, 並已呼叫讀函式readDat()把這些數存入陣列a中, 請考生編制一函式jsVal(),其功能是: 將第1個數減第200個數, 若差值小於零, 則取差值的絕對值作為下列統計用的符合條件數, 若差值大於等於零, 則差值不作為符合條件數; 將第2個數減第199個數, 若差值小於零, 則同樣取差值的絕對值, 若差值大於等於零, 則差值同樣不作為符合條件數;直至第100個數減第101個數為止,接著計算出這些符合條件數中的'最小值min、最大值max以及這些符合條件數的平均值aver。最後main()函式呼叫寫函式writeDat()把結果輸出到檔案中。

2016年計算機等級考試四級考試上機題

注意: 部分源程式存在檔案PROG1.C檔案中。

程式中已定義: a[200]、min、max、aver

請勿改動資料檔案中的任何資料、主函式main()、讀函式readDat()和寫函式writeDat()的內容。*/#include #define MAX 200int a[MAX], min, max;double aver ;void jsVal(){/**/

int i,t,k=0;

max=0; min=10000;

aver=0.0;

for(i=0; i < MAX/2; i++)

{ t=a[i]-a[MAX-i-1];

if(t < 0)

{ t=-t; k++; aver+=t;

if(max < t) max=t; else if(min>t) min=t;

}

}

aver/=k;/**/}void readDat(){

int i ;

FILE *fp ;

fp = fopen("", "r") ;

for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;

fclose(fp) ;}void main(){

readDat() ;

jsVal() ;

printf("結果min=%d,max=%d,aver=%6.2lf ", min, max, aver) ;

writeDat() ;}writeDat(){

FILE *fp ;

fp = fopen("", "w") ;

fprintf(fp, "%d %d %6.2lf ", min, max, aver) ;

fclose(fp) ;}

試題的 內容如下:

4452 1759 8634 9976 7503 2101 5246 6780 1518 6955

3466 8383 1778 4777 4443 3364 2262 3649 3366 5528

6840 7227 8590 9496 3512 5638 2412 5909 2975 8025

2359 5368 3539 3559 2322 5307 1757 8645 8872 6227

4357 8379 5715 9782 8205 1063 3211 2201 4307 2357

9703 1076 5551 7158 4462 5589 1137 4051 3485 9751

8662 2134 1190 8025 1065 4059 9698 8098 6927 8155

9476 5088 6359 5573 5993 5606 9624 3380 2122 5129

9554 7098 3070 8601 7205 9551 9218 2082 1284 4013

8447 1275 6488 5778 9290 7853 3538 6167 5442 2097

1720 8296 3250 7649 8223 2250 4367 8818 7696 4567

2856 9316 8359 6136 5012 6032 6291 1827 7026 8704

4189 7396 4088 2106 3918 4019 8802 6084 5890 1426

4261 1041 2554 1599 4124 4615 1566 2010 2881 5854

9694 6913 4927 5571 2121 8576 5074 7410 9248 3526

7614 7273 8044 2410 5872 9607 9017 7871 1835 6878

6307 5718 3949 1697 8033 6158 6838 9178 6320 5899

1363 5611 4709 1560 8051 6204 6920 4488 6106 7848

1638 5460 5160 7848 3035 2668 1975 4539 1697 1452

9266 5644 9203 8847 5953 6143 3889 6280 8335 7988