2006全國計算機等級二級南開百題部分試題2

2006全國計算機等級二級南開百題部分試題2,第1張

2006全國計算機等級二級南開百題部分試題2,第2張

★題目27(整數位數運算問題)

已知. dat中的數據文件有300個四位數,已調用讀取函數ReadDat()將這些數存儲在數組a中,請編譯一個函數jsValue(),其作用是:求千位數減去百位數減去十位數減去個位數大於零的個數。然後將滿足這個條件的四位數字全部順序存放在數組B中,再將數組B的四位數字按照從小到大的順序排序。最後,調用寫函數writeDat()將結果輸出到out.dat文件。
例如:9123,9-1-2-3>0,則該數滿足條件竝存放在數組B中,數cnt=cnt 1。
9812,9-8-1-2>0,則該數不滿足條件,忽略不計。
文件prog1.c
數組中存在一些源程序:程序中已經定義了a[300],b[300]和變量:cnt
。請勿更改main function()、ReadDat()和writeDat()的內容。
#include
int a[300],b[300],CNT = 0;

js value()
{ int I,j,qw,bw,sw,GW;
for(I = 0;I { qw = a[I]/1000;bw = a[I]/100% 10;
SW = a[I]% 100/10;GW = a[I]% 10;
if(qw-bw-SW-GW > 0)b[cnt ]= a[I];
}
for(I = 0;I for(j = I 1;j if(b[I]> b[j]){ qw = b[I];b[I]= b[j];b[j]= qw;}
}

main()
{
int I;

read dat();
js value();
write dat();
printf("cnt=%d\n",CNT);
for(I = 0;I }

read dat()
{
FILE * FP;
int I;
fp=fopen("in.dat"," r");
for(I = 0;I fclose(FP);
}

writeDat()
{
FILE * FP;
int I;
fp=fopen("out.dat"," w");
fprintf(fp," %d\n",CNT);
for(I = 0;I fclose(FP);
}

位律師廻複

生活常識_百科知識_各類知識大全»2006全國計算機等級二級南開百題部分試題2

0條評論

    發表評論

    提供最優質的資源集郃

    立即查看了解詳情