全國計(jì)算機(jī)等級三級考試《數(shù)據(jù)庫技術(shù)》上機(jī)考試沖刺試卷
C語言程序設(shè)計(jì)題
1、 已知數(shù)據(jù)文件in.dat中存有200個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVal(),其功能是:把一個(gè)四位數(shù)的個(gè)位數(shù)位置上的值減去千位數(shù)位置上的值再減去百位數(shù)位置上的值最后減去十位數(shù)位置上的值,如果得出的值大于等于零且原四位數(shù)是偶數(shù),則統(tǒng)計(jì)出滿足此條件的個(gè)數(shù)cnt,并把這些四位數(shù)按從小到大的順序存入數(shù)組 b中,最后調(diào)用寫函數(shù)writeDat()把結(jié)果cnt以及數(shù)組b中符合條件的四位數(shù)輸出到0ut.dat文件中。
2、 程序test.C的功能是:利用以下所示的簡單迭代方法求方程cos(x).x=0的一個(gè)實(shí)根。迭代公式:Xn+1=cos(xn)(n是迭代次數(shù))
迭代步驟如下:
(1)取X1初值為0.0;
(2)X0=X1,把X1的值賦給x0;
(3)X1=cos(x0),求出一個(gè)新的x1;
(4)若x0.X1的絕對值小于0.000001,執(zhí)行步驟(5),否則執(zhí)行步驟(2);
(5)所求X1就是方程cos(X)-X=0的一個(gè)實(shí)根,作為函數(shù)值返回。
請編寫函數(shù)countValue()實(shí)現(xiàn)程序的功能,最后main()函數(shù)調(diào)用函數(shù)writeDAT()把結(jié)果輸出到文件0ut.dat中。注意:部分源程序存放在test.C文件中。
請勿改動(dòng)主函數(shù)main()和輸出數(shù)據(jù)函數(shù)writeDAT()的內(nèi)容。
3、 函數(shù)readDat()是從文件in.dat中讀取20行數(shù)據(jù)存放到字符串?dāng)?shù)組xx中(每行字符串長度均小于80)。請編制函數(shù)jsSort(),其函數(shù)的功能是:以行為單位對字符串變量的下標(biāo)為奇數(shù)的位置上的字符按其ASCII值從小到大的順序進(jìn)行排序,下標(biāo)為偶數(shù)的位置上的字符仍按原來位置存放,排序后的結(jié)果仍按行重新存入字符串?dāng)?shù)組)XX中,最后調(diào)用函數(shù)WrriteDat()把結(jié)果 xx輸出到out.dat文件中。
4、 已知數(shù)據(jù)文件in.dat中存有300個(gè)四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請編制一數(shù)jsValue(),其功能是:求出個(gè)位數(shù)上的數(shù)減千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)大于零的個(gè)數(shù)cnt,再把所有滿足此條件的四位數(shù)依次存入數(shù)組b中,然后對數(shù)組b的四位數(shù)按從大到小的順序進(jìn)行排序。最后main()函數(shù)調(diào)用寫函數(shù)writeDat()把數(shù)組 b中的數(shù)輸出到文件0ut.dat。
5、 函數(shù)ReadDat()實(shí)現(xiàn)從文件in.dat中讀取一篇英文文章,存入到無符號字符串?dāng)?shù)組XX中,請編制函數(shù)encryptChar(),按給定的替代關(guān)系對數(shù)組)XX中的所有字符進(jìn)行替代,其替代值仍存入數(shù)組XX的對應(yīng)的位置上,最后調(diào)用函數(shù)writeDat()把結(jié)果xx輸出到文件out.dat中。
替代關(guān)系:())=p*17 mod 256,mod為取余運(yùn)算,p是數(shù)組)xx中某一個(gè)字符的ASCII值,f(p)是計(jì)算后的無符號整型值(注意:中間變量定義成整型變量),如果計(jì)算后f(p)值小于等于32或f(p)是奇數(shù)時(shí),則該字符不變,否則用f(p)替代所對應(yīng)的字符。