2005年計算機(jī)等級考試三級上機(jī)題庫(四)

字號:

第69題
     下列程序的功能是:統(tǒng)計在tt字符串中’a’到’z’26個字母各自出現(xiàn)的次數(shù),并存入pp數(shù)組。請編寫函數(shù)cnt(char *tt,int pp[])實現(xiàn)程序要求,最后調(diào)用函數(shù)readwriteDat()把結(jié)果輸出到文件out.dat中。(注:僅統(tǒng)計小寫字母)
     例如,當(dāng)輸入字符串:abcdefgabcdeabc后,
    輸出的結(jié)果應(yīng)該是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
     部分源程序存在文件prog1.c中。
     請勿改動主函數(shù)main()和輸出數(shù)據(jù)函數(shù)readwriteDAT()的內(nèi)容。
    第70題
     函數(shù)ReadDat()實現(xiàn)從文件IN.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中,請編制函數(shù)StrCharJL(),其函數(shù)的功能是:以行為單位把字符串中的所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于等于32或大于100,則原字符保持不變,否則就把左移后的字符ASCII值再加上原字符ASCII值,得到新的字符仍存入原字符串對應(yīng)的位置上。最后把已處理的字符串仍按行重新存入字符串?dāng)?shù)組xx中,最后調(diào)用函數(shù)writeDat()把結(jié)果xx輸出到文件OUT7.DAT中。
     原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標(biāo)點符號和空格。
     部分源程序存在文件prog1.c中。
     請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)writeDat()的內(nèi)容。
    第71題
     下列程序的功能是:設(shè)A,B,C為三個不為零的正整數(shù),計算并輸出下列不定方程組解的個數(shù)cnt以及滿足此條件的所有A,B,C之和sum。
     不定方程組為:
    A+B+C=13
    A-C=5
     請編寫函數(shù)countValue實現(xiàn)程序要求,最后調(diào)用函數(shù)writeDat()把結(jié)果cnt和sum輸出到文件out.dat中。
     部分源程序存在文件prog1.c中。
     請勿改動主函數(shù)main()和輸出數(shù)據(jù)函數(shù)writeDat()的內(nèi)容。
    第72題
     函數(shù)ReadDat()實現(xiàn)從文件IN.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中,請編制函數(shù)ChA(),其函數(shù)的功能是:以行為單位把字符串中的第一個字符的ASCII值加第二個字符的ASCII值,得到第一個新的字符,第二個字符的ASCII值加第三個字符的ASCII值加原第一個字符的ASCII值,得到最后一個新的字符,得到的新字符分別存放在原字符串對應(yīng)的位置上。最后把已處理的字符串仍按行重新存入字符串?dāng)?shù)組xx中,最后調(diào)用函數(shù)writeDat()把結(jié)果xx輸出到文件OUT9.DAT中。
     原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標(biāo)點符號和空格。
     部分源程序存在文件prog1.c中。
     請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)writeDat()的內(nèi)容。
    第73題
     下列程序的功能是:選出100以上1000以內(nèi)所有個位數(shù)字與十位數(shù)字之和被10除所得余數(shù)恰是百位數(shù)字的素數(shù)(如293)。計算并輸出上述這些素數(shù)的個數(shù)cnt以及這些素數(shù)值的和sum。請編寫函數(shù)countValue實現(xiàn)程序要求,最后調(diào)用函數(shù)writeDat()把結(jié)果cnt和sum輸出到文件out.dat中。
     部分源程序存在文件prog1.c中。
     請勿改動主函數(shù)main()和輸出數(shù)據(jù)函數(shù)writeDat()的內(nèi)容。
    第74題
     已知在文件IN.DAT中存有100個產(chǎn)品銷售記錄,每個產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型4位),產(chǎn)品名稱mc(字符型10位),單價dj(整型),數(shù)量sl(整型),金額je(長整型)五部分組成。其中:金額=單價*數(shù)量計算得出。函數(shù)ReadDat()是讀取這100個銷售記錄并存入結(jié)構(gòu)數(shù)組sell中。請編制函數(shù)SortDat(),其功能要求:按金額從小到大進(jìn)行排列,若金額相等,則按產(chǎn)品代碼從小到大進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中,最后調(diào)用函數(shù)WriteDat()把結(jié)果輸出到文件OUT1.DAT中。
     部分源程序存在文件prog1.c中。
    請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。 第77題
     函數(shù)loop(s,m,n,str)對長為n的字符串str,從第s個字符開始的間隔為m的部分字符進(jìn)行循環(huán)左移,即str[s]←str[s+m]←...←str[s+km]←...←str[s](k為正整數(shù)),且當(dāng)字符位置s+k*m大于等于n時,要求用s+k*m-n作新的字符位置。要求編寫此函數(shù)實現(xiàn)其功能,最后調(diào)用函數(shù)WriteDat()把結(jié)果輸出到文件out.dat中。
     例:loop(1,2,8,str)
    位置 0 1 2 3 4 5 6 7
    調(diào)用前str=A B C D E F G H
    調(diào)用后str=A D C F E H G B
     部分源程序存在文件prog1.c中。
    請勿改動主函數(shù)main()和寫函數(shù)WriteDat()的內(nèi)容。
    第78題
     已知在文件IN.DAT中存有100個產(chǎn)品銷售記錄,每個產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型4位),產(chǎn)品名稱mc(字符型10位),單價dj(整型),數(shù)量sl(整型),金額je(長整型)五部分組成。其中:金額=單價*數(shù)量計算得出。函數(shù)ReadDat()是讀取這100個銷售記錄并存入結(jié)構(gòu)數(shù)組sell中。請編制函數(shù)SortDat(),其功能要求:按產(chǎn)品名稱從小到大進(jìn)行排列,若產(chǎn)品名稱相等,則按金額從小到大進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中,最后調(diào)用函數(shù)WriteDat()把結(jié)果輸出到文件OUT5.DAT中。
     部分源程序存在文件prog1.c中。
    請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
    第79題
     已知在文件IN.DAT中存有100個產(chǎn)品銷售記錄,每個產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型4位),產(chǎn)品名稱mc(字符型10位),單價dj(整型),數(shù)量sl(整型),金額je(長整型)五部分組成。其中:金額=單價*數(shù)量計算得出。函數(shù)ReadDat()是讀取這100個銷售記錄并存入結(jié)構(gòu)數(shù)組sell中。請編制函數(shù)SortDat(),其功能要求:按產(chǎn)品名稱從大到小進(jìn)行排列,若產(chǎn)品名稱相等,則按金額從小到大進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中,最后調(diào)用函數(shù)WriteDat()把結(jié)果輸出到文件OUT7.DAT中。
     部分源程序存在文件prog1.c中。
    請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
    第80題
     編寫函數(shù)jsValue,它的功能是:求Fibonacci數(shù)列中大于t的最小的一個數(shù),結(jié)果由函數(shù)返回。其中Fibonacci數(shù)列F(n)的定義為:
    F(0)=0,F(1)=1
    F(n)=F(n-1)+F(n-2)
    最后調(diào)用函數(shù)writeDat()讀取50個數(shù)據(jù)t,分別得出結(jié)果且把結(jié)果輸出到文件out.dat中。
     例如:當(dāng)t=1000時,函數(shù)值為:1597。
     部分源程序存在文件prog1.c中。
     請勿改動主函數(shù)main()和寫函數(shù)writeDat()的內(nèi)容。
    第81題
     已知在文件IN.DAT中存有100個產(chǎn)品銷售記錄,每個產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型4位),產(chǎn)品名稱mc(字符型10位),單價dj(整型),數(shù)量sl(整型),金額je(長整型)五部分組成。其中:金額=單價*數(shù)量計算得出。函數(shù)ReadDat()是讀取這100個銷售記錄并存入結(jié)構(gòu)數(shù)組sell中。請編制函數(shù)SortDat(),其功能要求:按產(chǎn)品代碼從小到大進(jìn)行排列,若產(chǎn)品代碼相等,則按金額從小到大進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中,最后調(diào)用函數(shù)WriteDat()把結(jié)果輸出到文件OUT9.DAT中。
     部分源程序存在文件prog1.c中。
    請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
    第82題
     函數(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ù)WriteDat()把結(jié)果xx輸出到文件out.dat中。
     例如:位置   0 1 2 3 4 5 6 7 
    源字符串 h g f e d c b a
    則處理后字符串 h a f c d e b g
     部分源程序存在文件prog1.c中。
    請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。第83題
     函數(shù)ReadDat()實現(xiàn)從文件ENG.IN中讀取一篇英文文章,存入到字符串?dāng)?shù)組xx中;請編制函數(shù)encryptChar(),按給定的替代關(guān)系對數(shù)組xx中的所有字符進(jìn)行替代,仍存入數(shù)組xx的對應(yīng)的位置上,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件PS1.DAT中。
    替代關(guān)系:f(p)=p*11 mod 256(p是數(shù)組中某一個字符的ASCII值,f(p)是計算后新字符的ASCII值),如果計算后f(p)值小于等于32或大于130,則該字符不變,否則將f(p)所對應(yīng)的字符進(jìn)行替代。部分源程序存在文件prog1.c中。原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符。
    請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
    第84題
     在文件in.dat中有200組數(shù)據(jù),每組有3個數(shù),每個數(shù)均是三位數(shù)。函數(shù)ReadDat()讀取這200組數(shù)據(jù)存放到結(jié)構(gòu)數(shù)組aa中,請編制函數(shù)jsSort(),其函數(shù)的功能是:要求在200組數(shù)據(jù)中找出條件為每組中的第二個數(shù)大于第一個數(shù)加第三個數(shù)的之和,其中滿足條件的組數(shù)作為函數(shù)jsSort() 的返回值,同時把滿足條件的數(shù)據(jù)存入結(jié)構(gòu)數(shù)組bb中,再對bb中的數(shù)據(jù)按照每組數(shù)據(jù)的第二個數(shù)加第三個之和的大小進(jìn)行降序排列(第二個數(shù)加第三個數(shù)的和均不相等),排序后的結(jié)果仍重新存入結(jié)構(gòu)數(shù)組bb中,最后調(diào)用函數(shù)WriteDat()把結(jié)果bb輸出到文件out.dat中。
     部分源程序存在文件prog1.c中。
    請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
    第85題
     函數(shù)ReadDat()實現(xiàn)從文件ENG.IN中讀取一篇英文文章,存入到字符串?dāng)?shù)組xx中;請編制函數(shù)encryptChar(),按給定的替代關(guān)系對數(shù)組xx中的所有字符進(jìn)行替代,仍存入數(shù)組xx的對應(yīng)的位置上,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件PS3.DAT中。
     替代關(guān)系:f(p)=p*13 mod 256,mod為取余運(yùn)算,p是數(shù)組xx中某一個字符的ASCII值,f(p)是計算后的無符號整型值(注意:中間變量定義成整型變量),如果計算后f(p)值小于等于32或是奇數(shù),則該字符不變,否則用f(p)替代所對應(yīng)的字符。
    注意:部分源程序存放在prog1.c中,原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標(biāo)點符號和空格,并也按此替代關(guān)系進(jìn)行處理。
     請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
    第86題
     在文件中有100個正整數(shù),且每個數(shù)均在1000至9999之間。函數(shù)ReadDat()讀取這100個數(shù)存放到數(shù)組aa中。請編制函數(shù)jsSort(),其函數(shù)的功能是:要求按每個數(shù)的后三位的大小進(jìn)行降序排列,然后取出滿足此條件的100個數(shù)依次存入數(shù)組bb中,如果后三位的數(shù)值相等,則按原先的數(shù)值進(jìn)行升序排列。最后調(diào)用函數(shù)WriteDat()把結(jié)果bb輸出到文件out.dat中。
     例:處理前 9012 5099 6012 7025 8088
    處理后 5099 8088 7025 6012 9012
     部分源程序存在文件prog1.c中。
    請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
    第87題
    函數(shù)ReadDat()實現(xiàn)從文件ENG.IN中讀取一篇英文文章,存入到字符串?dāng)?shù)組xx中;請編制函數(shù)encryptChar(),按給定的替代關(guān)系對數(shù)組xx中的所有字符進(jìn)行替代,仍存入數(shù)組xx的對應(yīng)的位置上,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件PS5.DAT中。
    替代關(guān)系:f(p)=p*11mod 256 (p是數(shù)組中某一個字符的ASCII值,f(p)是計算后新字符的ASCII值),如果計算后f(p)值小于等于32或f(p)對應(yīng)的字符是小寫字母,則該字符不變,否則將f(p)所對應(yīng)的字符進(jìn)行替代。
    部分源程序存在文件prog1.c中。原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符。
    請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
    第88題
    函數(shù)ReadDat()實現(xiàn)從文件in.dat中讀取20行數(shù)據(jù)存放到字符串?dāng)?shù)組xx中(每行字符串長度均小于80)。請編制函數(shù)jsSort(),其函數(shù)的功能是:以行為單位對字符串按給定的條件進(jìn)行排序,排序后的結(jié)果仍按行重新存入字符串?dāng)?shù)組xx中,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件out.dat中。
    條件:從字符串中間一分為二,左邊部分按字符的ASCII值升序排序,右邊部分按字符的ASCII值降序排序。如果原字符串長度為奇數(shù),則最中間的字符不參加排序,字符仍放在原位置上。
    例如:位置   0 1 2 3 4 5 6 7 8
    源字符串 h g f e a b c d
    8 7 6 5 9 1 2 3 4
    則處理后字符串 e f g h d c b a
    5 6 7 8 9 4 3 2 1
    部分源程序存在文件prog1.c中。
    請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
    第89題
       函數(shù)ReadDat()實現(xiàn)從文件ENG.IN中讀取一篇英文文章,存入到字符串?dāng)?shù)組xx中;請編制函數(shù)encryptChar(),按給定的替代關(guān)系對數(shù)組xx中的所有字符進(jìn)行替代,仍存入數(shù)組xx的對應(yīng)的位置上,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件PS7.DAT中。
    替代關(guān)系:f(p)=p*11 mod 256(p是數(shù)組中某一個字符的ASCII值,f(p)是計算后新字符的ASCII值),如果原字符是大寫字母或計算后f(p)值小于等于32,則該字符不變,否則將f(p)所對應(yīng)的字符進(jìn)行替代。
    部分源程序存在文件prog1.c中。原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符。
    請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。