[其它考試]2011年3月全國計(jì)算機(jī)等級(jí)考試c語言上機(jī)題十套及答案詳解_第1頁
[其它考試]2011年3月全國計(jì)算機(jī)等級(jí)考試c語言上機(jī)題十套及答案詳解_第2頁
[其它考試]2011年3月全國計(jì)算機(jī)等級(jí)考試c語言上機(jī)題十套及答案詳解_第3頁
[其它考試]2011年3月全國計(jì)算機(jī)等級(jí)考試c語言上機(jī)題十套及答案詳解_第4頁
[其它考試]2011年3月全國計(jì)算機(jī)等級(jí)考試c語言上機(jī)題十套及答案詳解_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第一套1填空題請(qǐng)補(bǔ)充函數(shù)FUN,該函數(shù)的功能是把從主函數(shù)中輸入的字符串STR2接在字符串STR1的后面。例如STR1“HOWDO”,STR2“YOUDO”,結(jié)果輸出HOWDOYOUDO注意部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)MAIN和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)FUN的橫線上填入所編寫的若干表達(dá)式或語句。試題程序INCLUDEINCLUDEDEFINEN40VOIDFUNCHARSTR1,CHARSTR2INTI0CHARP1STR1CHARP2STR2WHILE【1】IFOR【2】IP1I【3】P1I0MAINCHARSTR1N,STR2NCLRSCRPRINTF“INPUTTHESTRINGSTR1PRINTF“NSTR1“GETSSTR1PRINTF“NSTR2“GETSSTR2PRINTF“THESTRINGSTR1PUTSSTR1PUTSSTR2FUNSTR1,STR2PRINTF“THENEWSTRINGN“PUTSSTR11、填空答案及評(píng)析【1】P1I【2】P2【3】P2【解析】填空1變量I用來記錄字符串STR1的長度,當(dāng)指針指到字符串STR1結(jié)束標(biāo)志符0時(shí),WHILE循環(huán)結(jié)束,變量I停止累加。填空2指針P2指向字符串STR2,通過FOR循環(huán)將字符串STR2接在STR1后面,循環(huán)結(jié)束的條件是指針P2所指的字符是字符串結(jié)束標(biāo)志符0。填空3指針P2最初指向字符串STR2的首字符,通過自加1,使指針P2依次向后移動(dòng),指向STR2的各個(gè)字符,實(shí)現(xiàn)將字符串STR2接在STR1后面的功能。2改錯(cuò)題下列給定程序中,函數(shù)FUN的作用是將字符串TT中的小寫字母都改為對(duì)應(yīng)的大寫字母,其他字符不變。例如,若輸入“EDS,DAD“,則輸出“EDS,DAD“。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意不要改動(dòng)MAIN函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序INCLUDEINCLUDEINCLUDE/FOUND/CHARFUNCHARTTCHARFUNCHARTINTIFORI0TTII/FOUND/IFTTIAJWMAININTAN1,2,3,4,5,6,7,8,9,10,11,12,13,14,15INTI,P,N15PRINTF“THEORIGINALDATAN“FORI0IPRINTF“,AIPRINTF“NNENTERP“SCANF“D“,FUNA,P,NPRINTF“NTHEDATAAFTERMOVINGN“FORI0IPRINTF“,AIPRINTF“NN“3、編程答案及評(píng)析VOIDFUNINTW,INTP,INTNINTI,J,TFORIPI0J/實(shí)現(xiàn)循環(huán)右移/WJ1WJW0T【解析】本題采用“循環(huán)右移“的算法。和我們?cè)谇懊娣治龅纳杂胁煌氖?,一個(gè)是整型數(shù)組,一個(gè)是字符型數(shù)組。第二套1填空題請(qǐng)補(bǔ)充函數(shù)FUN,該函數(shù)的功能是求一維數(shù)組XN的平均值,并對(duì)所得結(jié)果進(jìn)行四舍五入保留兩位小數(shù)。例如當(dāng)X10156,199,167,152,183,121,155,110,100,160,結(jié)果為AVG15030000。注意部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)MAIN和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)FUN的橫線上填入所編寫的若干表達(dá)式或語句。試題程序INCLUDEINCLUDEDOUBLEFUNDOUBLEX10INTILONGTDOUBLEAVG00DOUBLESUM00FORI0IAISMINAIS/找出最小值/FORI0IIFMINAISBJAI/找出成績與MIN相等的學(xué)生的記錄,存入結(jié)構(gòu)體B中/RETURNJ/返回最低成績的學(xué)生人數(shù)/【解析】該程序使用循環(huán)嵌套,第1個(gè)FOR語句的作用是找出最小值。第2個(gè)循環(huán)的作用是找出與MIN相等的成績,也即最低成績的學(xué)生記錄,并存入B中。三套1填空題請(qǐng)補(bǔ)充函數(shù)FUN,該函數(shù)的功能是從A到Z統(tǒng)計(jì)一個(gè)字符串中所有字母字符各自出現(xiàn)的次數(shù),結(jié)果保存在數(shù)組ALF中。注意不區(qū)分大小寫,不能使用字符串庫函數(shù)。例如,輸入“AABC5C”,結(jié)果為A2,B1,C2。注意部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)MAIN和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)FUN的橫線上填入所編寫的若干表達(dá)式或語句。試題程序INCLUDEINCLUDEDEFINEN100VOIDFUNCHARTT,INTALFINTICHARPTTFORI0IATSS1TS1S110MAINLONGS,TCLRSCRPRINTF“NPLEASEENTERS“SCANF“LD“,FUNS,PRINTF“THERESULTISLDN“,T答案及評(píng)析1錯(cuò)誤INTFUNLONGS,LONGT正確VOIDFUNLONGS,LONGT2錯(cuò)誤SS0正確SS/100【解析】錯(cuò)誤1函數(shù)由指針來完成參數(shù)的傳遞,所以沒有返回值,應(yīng)定義函數(shù)的類型為VOID。錯(cuò)誤2此處要注意特殊運(yùn)算符號(hào)“取余和“/“整除的區(qū)別。將一個(gè)數(shù)整除100則可得到由其百位數(shù)以上的數(shù)組成的新數(shù)字,將一個(gè)數(shù)整除100取余則可得到由十位數(shù)和個(gè)位數(shù)組成的新數(shù)。3編程題請(qǐng)編寫一個(gè)函數(shù)FUN,它的功能是求出一個(gè)4M整型二維數(shù)組中最小元素的值,并將此值返回調(diào)用函數(shù)。注意部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)MAIN和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)FUN的花括號(hào)中填入所編寫的若干語句。試題程序DEFINEM4INCLUDEFUNINTAMMAININTARR4M11,3,9,35,42,4,24,32,6,48,32,7,23,34,12,7PRINTF“MINDN“,FUNARR答案及評(píng)析FUNINTAMINTI,J,MINA00FORI0IAIJMINAIJ/求出二維數(shù)組的最小值/RETURNMIN【解析】此類求最大值或最小值的C語言問題,我們可以采用逐個(gè)比較的方式。要求數(shù)組中的所有元素走動(dòng)一遍,并從中找出最大、最小值,要注意一開始應(yīng)使MIN存放數(shù)組中的第一個(gè)元素的值??砂粗鹦胁檎乙部砂粗鹆胁檎业姆绞剑绢}采用的是逐行查找的方式。即行下標(biāo)在外層循環(huán),列下標(biāo)在內(nèi)層循環(huán),因?yàn)樵谘h(huán)的嵌套中越在內(nèi)層循環(huán),循環(huán)變化就越快。四套1填空題請(qǐng)補(bǔ)充函數(shù)FUN,該函數(shù)的功能是分類統(tǒng)計(jì)一個(gè)字符串中元音字母和其他字符的個(gè)數(shù)不區(qū)分大小寫。例如,輸入AEIOUAOUPQRT,結(jié)果為A2E1I1O2U2OTHER4。注意部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)MAIN和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)FUN的橫線上填入所編寫的若干表達(dá)式或語句。試題程序INCLUDEINCLUDEDEFINEN100VOIDFUNCHARSTR,INTBBCHARPSTRINTI0FORI0I2FORI0【1】IIFSIAINTI/FOUND/FORI1IINCLUDEVOIDFUNINTA,INTNMAININTAA1000,N,KCLRSCRFUNAA,FORK0KDEFINEN80INTBBNINTFUNCHARS,INTBB,INTNUMINTI,N0FORI0I0INTCOUNT0,K,IFORK0KAVE(3)錯(cuò)誤AVERAVE正確AVERAVE【解析】錯(cuò)誤1AVE和T分別用來存放成績的平均值和總分,應(yīng)為實(shí)型數(shù)。錯(cuò)誤2根據(jù)題意,找出高于平均分的數(shù),所以此處的關(guān)系運(yùn)算符應(yīng)為“錯(cuò)誤3AVER是指針,而AVE是一個(gè)數(shù),不能將一個(gè)數(shù)賦值給一個(gè)指針,而要用符號(hào)。3編程題請(qǐng)編寫一個(gè)函數(shù)FUN,它的功能是比較兩個(gè)字符串的長度,(不得調(diào)用C語言提供的求字符串長度的函數(shù)),函數(shù)返回較短的字符串。若兩個(gè)字符串長度相等,則返回第1個(gè)字符串。例如,輸入NANJINGNANCHANG(為回車鍵),函數(shù)將返回NANJING。注意部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)MAIN和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)FUN的花括號(hào)中填入所編寫的若干語句。試題程序INCLUDECHARFUNCHARS,CHARTMAINCHARA20,B10,P,QINTIPRINTF“INPUT1THSTRING“GETSAPRINTF“INPUT2THSTRING“GETSBPRINTF“S“,FUNA,B答案及評(píng)析CHARFUNCHARS,CHARTINTI,JFORI0SI0I/求字符串的長度/FORJ0TJ0JIFI/一定要注意在最前面加INCLUDE/CHARFUNCHARS,CHARTIFSTRLENSSTRLENTRETURNSELSERETURNT七套1填空題從鍵盤輸入一組無符號(hào)整數(shù)并保存在數(shù)組XXN中,以整數(shù)0結(jié)束輸入,要求這些數(shù)的最大位數(shù)不超過4位,其元素的個(gè)數(shù)通過變量NUM傳入函數(shù)FUN。請(qǐng)補(bǔ)充函數(shù)FUN,該函數(shù)的功能是從數(shù)組XX中找出個(gè)位和十位的數(shù)字之和大于5的所有無符號(hào)整數(shù),結(jié)果保存在數(shù)組YY中,其個(gè)數(shù)由函數(shù)FUN返回。例如當(dāng)XX8123,11,25,222,42,333,14,5451時(shí),BB425,42,333,5451。注意部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)MAIN和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)FUN的橫線上填入所編寫的若干表達(dá)式或語句。試題程序INCLUDEDEFINEN1000INTFUNINTXX,INTBB,INTNUMINTI,N0INTG,SFORI0IG【1】SXXI/10IFGS5【2】RETURN【3】MAININTXXNINTYYNINTNUM0,N0,I0PRINTF“INPUTNUMBERN“DOSCANF“U“,WHILEXXNUM0NFUNXX,YY,NUMPRINTF“NYY“FORI0IPRINTF“U“,YYI答案及評(píng)析【1】XXI【2】BBNXXI【3】N【解析】填空1將一個(gè)整數(shù)對(duì)10取余,則得到這個(gè)整數(shù)的個(gè)位數(shù),將一個(gè)整數(shù)除以10再對(duì)10取余,則得到這個(gè)整數(shù)的十位數(shù)。由程序可以看出,變量S保存了整數(shù)的十位數(shù),所以應(yīng)該將整數(shù)的個(gè)位數(shù)保存于變量G中。填空2當(dāng)整數(shù)的個(gè)位與十位的數(shù)字之和大于5時(shí),則將這個(gè)整數(shù)存于數(shù)組BB中,同時(shí),變量N記錄了滿足條件的無符號(hào)整數(shù)的個(gè)數(shù)。填空3題目要求滿足條件的無符號(hào)整數(shù)的個(gè)數(shù)由FUN函數(shù)返回,所以函數(shù)返回N。2改錯(cuò)題下列給定程序中,函數(shù)FUN的功能是在字符串STR中找出ASC碼值最小的字符,將其放在第一個(gè)位置上,并將該字符前的原字符向后順序移動(dòng)。例如,調(diào)用FUN函數(shù)之前給字符串輸入FAGAGBDH,調(diào)用后字符串中的內(nèi)容為AFAGGBDH。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意不要改動(dòng)MAIN函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序INCLUDE/FOUND/VOIDFUNCHARPCHARMIN,QINTI0MINPIWHILEPI0IFMINPI/FOUND/PQIMINPIIWHILEQPQQ1QP0MINMAINCHARSTR80PRINTF“ENTERASTRING“GETSSTRPRINTF“NTHEORIGINALSTRING“PUTSSTRFUNSTRPRINTF“NTHESTRINGAFTERMOVING“PUTSSTRPRINTF“NN“答案及評(píng)析(1)錯(cuò)誤VOIDFUNCHARP正確VOIDFUNCHARP(2)錯(cuò)誤PQI正確QPI【解析】錯(cuò)誤由于本題中函數(shù)的功能是對(duì)字符串進(jìn)行處理,而不是對(duì)單個(gè)字符進(jìn)行處理,因此,函數(shù)的參數(shù)應(yīng)為字符串指針。錯(cuò)誤2使指針Q指向ASCII碼最小的字符本題解答需要3個(gè)步驟(1)找到字符串中ASCII碼值最小的字符,并保存。(2)將該字符復(fù)制,并將該字符前面的字符串順次后移。(3)將ASCII碼值最小的字符賦給字符串的第1個(gè)字符。找到ASCII碼值最小的字符可以通過定義一個(gè)字符MIN,該字符初始時(shí)等于字符串的第1個(gè)字符,若字符串的下一個(gè)字符小于MIN,則將下一個(gè)字符賦給MIN,如此循環(huán)到字符尾,即可得到ASCII碼值最小的字符,同時(shí)令指針Q指向最小字符。之后對(duì)最小字符前面的子串順次后移,可采用WHILE語句實(shí)現(xiàn)。此題需要熟練掌握和靈活應(yīng)用C語言的字符與整型變量的關(guān)系以及字符串操作。3編程題N名學(xué)生的成績已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,H指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫函數(shù)FUN,它的功能是找出學(xué)生的最低分,由函數(shù)值返回。注意部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)MAIN和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)FUN的花括號(hào)中填入所編寫的若干語句。試題程序INCLUDEINCLUDEDEFINEN8STRUCTSLISTDOUBLESSTRUCTSLISTNEXTTYPEDEFSTRUCTSLISTSTRECDOUBLEFUNSTRECHSTRECCREATDOUBLESSTRECH,P,QINTI0HPSTRECMALLOCSIZEOFSTRECPS0WHILEIQSTRECMALLOCSIZEOFSTRECPSSIIPNEXTQPQPNEXTNULLRETURNH/返回鏈表的首地址/OUTLISTSTRECHSTRECPPHPRINTF“HEAD“DOPRINTF“20F“,PSPPNEXT/輸出各分?jǐn)?shù)/WHILEPNULLPRINTF“NN“MAINDOUBLESN56,89,76,95,91,68,75,85,MINSTRECHHCREATSOUTLISTHMINFUNHPRINTF“MIN61FN“,MIN答案及評(píng)析DOUBLEFUNSTRECHDOUBLEMINHSWHILEHNULL/通過循環(huán)找到最低分?jǐn)?shù)/IFMINHSMINHSHHNEXTRETURNMIN【解析】在本題中,H為一個(gè)指向結(jié)構(gòu)體的指針變量,若要引用它所指向的結(jié)構(gòu)體中的某一成員時(shí),要用指向運(yùn)算符“。由于是鏈表,所以要使H逐一往后移動(dòng),使用的是HHNEXT。八套1填空題請(qǐng)補(bǔ)充函數(shù)FUN,該函數(shù)的功能是判斷一個(gè)數(shù)的個(gè)位數(shù)字和百位數(shù)字之和是否等于其十位上的數(shù)字,是則返回“YES”,否則返回“NO”。注意部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)MAIN和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)FUN的橫線上填入所編寫的若干表達(dá)式或語句。試題程序INCLUDEINCLUDECHARFUNINTNINTG,S,BGN10SN/1010B【1】IFGBSRETURN【2】ELSERETURN【3】MAININTNUM0CLRSCRPRINTF“INPUTDATAN“SCANF“D“,PRINTF“NNN“PRINTF“THERESULTN“PRINTF“NNNS“,FUNNUM答案及評(píng)析【1】N/10010【2】YES【3】NO【解析】填空1由程序可以知道,變量G保存了整數(shù)的個(gè)位數(shù),變量S保存了整數(shù)的十位數(shù),所以變量B應(yīng)該保存整數(shù)的百位數(shù)。將整數(shù)除以100再對(duì)10取余,則得到這個(gè)整數(shù)的百位數(shù)。填空2當(dāng)個(gè)位數(shù)字和百位數(shù)字之和等于十位數(shù)字時(shí),則返回YES。填空3當(dāng)個(gè)位數(shù)字和百位數(shù)字之和不等于十位數(shù)字時(shí),則返回NO。2改錯(cuò)題下列給定的程序中,函數(shù)FUN的功能是用選擇法對(duì)數(shù)組中的N個(gè)元素按從大到小的順序進(jìn)行排序。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意不要改動(dòng)MAIN函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序INCLUDEDEFINEN20VOIDFUNINTA,INTNINTI,J,T,P/FOUND/FORJ0JAPPITAPAPAJ/FOUND/APTMAININTAN11,32,5,2,14,I,M5PRINTF“排序前的數(shù)據(jù)“FORI0IINCLUDEINCLUDEDEFINEN5INTFUNINTWNMAININTANN0,1,2,7,9,1,11,21,5,5,2,21,6,11,1,9,7,9,10,2,5,4,1,4,1INTI,JINTSCLRSCRPRINTF“THEAR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論