?? 題目86.txt
字號:
題目86:已知數據文件IN.DAT中存有200個四位數, 并已調用讀函數readDat()把這些數存入數組a中,請考生編制一函數jsVal(),其功能是: 把千位數字和十位數字重新組成一個新的十位數ab(新十位數的十位數字是原四位數的千位數字,新十位數的個位數字是原四位數的十位數字), 以及把個位數字和百位數字組成另一個新的十位數cd (新十位數的十位數字是原四位數的個位數字,新十位數的個位數字是原四位數的百位數字), 如果新組成的兩個十位數ab>cd, ab必須是偶數且能被5整除, cd必須是奇數,同時兩個新數的十位數字均不為零,則將滿足此條件的四位數按從大到小的順序存入數組b中, 并要計算滿足上述條件的四位數的個數cnt。最后main()函數調用寫函數writeDat( )把結果cnt以及數組b中符合條件的四位數輸出到OUT.DAT文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定義數組: a[200], b[200], 已定義變量: cnt
請勿改動數據文件IN.DAT中的任何數據、主函數main()、讀函數readDat()和寫函數writeDat()的內容。
-------------------------
void jsVal() /*標準答案*/
{int I,thou,hun,ten,data,j;
int ab,cd;
for(I=0;I<200;I++)
{thou=a[I]/1000; hun=a[I]%1000/100;
ten=a[I]%100/10; data=a[I]%10;
ab=10*thou+ten; cd=10*data+hun;
if((ab-cd)>0&&(ab%2!=1&&ab%5==0)&&cd%2==1&&ab!=0&&cd!=0)
{b[cnt]=a[I];cnt++;}
}
for(I=0;I<cnt-1;I++)
for(j=I+1;j<cnt;j++)
if(b[I]<b[j])
{data=b[I];b[I]=b[j];b[j]=data;}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -