全国计算机二级等考C语言上机操作题库_第1页
全国计算机二级等考C语言上机操作题库_第2页
全国计算机二级等考C语言上机操作题库_第3页
全国计算机二级等考C语言上机操作题库_第4页
全国计算机二级等考C语言上机操作题库_第5页
已阅读5页,还剩207页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1目录第01套4第02套6第03套8第04套10第05套12第06套14第07套17第08套19第09套22第10套24第11套27第12套29第13套31第14套33第15套35第16套36第17套38第18套40第19套42第20套44第21套46第22套48第23套50第24套52第25套53第26套55第27套57第28套59第29套61第30套63第31套65第32套67第33套69第34套71第35套73第36套75第37套77第38套80第39套82第40套85第41套87第42套89第43套91第44套93第45套952第46套97第47套99第48套101第49套102第50套104第51套106第52套107第53套110第54套111第55套113第56套115第57套116第58套118第59套120第60套121第61套123第62套125第63套127第64套129第65套132第66套134第67套136第68套138第69套140第70套142第71套144第72套146第73套148第74套150第75套152第76套154第77套156第78套157第79套159第80套161第81套163第82套165第83套167第84套169第85套171第86套173第87套175第88套178第89套180第90套182第91套186第92套1883第93套191第94套194第95套197第96套199第97套201第98套203第99套206第100套208重要提示上机考试题重点看50套题第11套到第20套、第31套到第50套、第61套到第70套、第91套到第100套,时间充裕可以练习其他剩下的50套题4第01套1程序填空题给定程序的功能是调用FUN函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为MYFILE5DAT的二进制文件中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意源程序存放在考生文件夹下的BLANK1C中。不得增行或删行,也不得更改程序的结构INCLUDEINCLUDEDEFINEN5TYPEDEFSTRUCTINTNUMCHARNAME10CHARTEL10STYPEVOIDCHECK/FOUND/INTFUN_1_STD/FOUND/_2_FPINTIIFFPFOPEN“MYFILE5DAT“,“WB“NULLRETURN0PRINTF“NOUTPUTDATATOFILEN“FORI0IINCLUDEVOIDFUNCHARS,CHARTINTI,SLSLSTRLENS/FOUND/FORI0IVOIDFUNINTA,INTB,LONGCMAININTA,BLONGC6PRINTF“INPUTA,B“SCANF“D,D“,FUNA,B,PRINTF“THERESULTISDN“,CNONONONO/本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。/FILERF,WFINTI,A,BLONGCRFFOPEN“CTESTINDAT“,“R“WFFOPEN“CTESTOUTDAT“,“W“FORI0IINCLUDEINCLUDEVOIDWRITETEXTFILEVOIDREADTEXTFILEMAINFILEFPIFFPFOPEN“MYFILE4TXT“,“W“NULLPRINTF“OPENFAILN“EXIT0WRITETEXTFPFCLOSEFPIFFPFOPEN“MYFILE4TXT“,“R“NULLPRINTF“OPENFAILN“EXIT0READTEXTFPFCLOSEFP/FOUND/7VOIDWRITETEXTFILE_1_CHARSTR81PRINTF“NENTERSTRINGWITH1TOENDN“GETSSTRWHILESTRCMPSTR,“1“0/FOUND/FPUTS_2_,FWFPUTS“N“,FWGETSSTRVOIDREADTEXTFILEFRCHARSTR81PRINTF“NREADFILEANDOUTPUTTOSCREENN“FGETSSTR,81,FRWHILEFEOFFR/FOUND/PRINTF“S“,_3_FGETSSTR,81,FR解题思路本题要求是把键盘上输入的内容写到指定的文件中。程序中共有三处要填上适当的内容,使程序能运行出正确的结果。第一处要求填写文件流的自变量名,在这个函数中,已有的语句FPUTS“N“,FW分析可知由于文件流变量FW在函数体没有定义过,所以本处应填FW或FW。第二处通过WHILE循环语句,把键盘上输入的内容,要写入到指定的文件中,键盘上输入的内容已存入字符串STR变量中,因此,本处应填写STR。第三处要把已存入文件中的内容,再从文件中读出且已存入字符串变量STR中,最后在屏幕显示出来,因此,此处应填写STR。2程序修改题给定程序MODI1C中函数FUN的功能是从低位开始取出长整型变量S中奇数位上的数,依次构成一个新数放在T中。高位仍在高位,低位仍在低位。例如,当S中的数为7654321时,T中的数为7531。INCLUDE/FOUND/VOIDFUNLONGS,LONGTLONGSL10TS10WHILES0SS/100TS10SLT/FOUND/SLSL100MAINLONGS,TPRINTF“NPLEASEENTERS“SCANF“LD“,FUNS,PRINTF“THERESULTISLDN“,T8解题思路第一处在函数FUN中使用了T,但在函数定义时没有使用T,所以应改为VOIDFUNLONGS,LONGT。第二处每循环一次,SL的值就乘以10,所以应改为SLSL10。3程序设计题函数FUN的功能是将两个两位数的正整数A、B合并形成一个整数放在C中。合并的方式是将A数的十位和个位数依次放在C数的个位和百位上,B数的十位和个位数依次放在C数的千位和十位上。例如,当A45,B12时,调用该函数后,C1524。INCLUDEVOIDFUNINTA,INTB,LONGCMAININTA,BLONGCPRINTF“INPUTA,B“SCANF“D,D“,FUNA,B,PRINTF“THERESULTISLDN“,CNONO/本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件/解题思路本题是给出两个两位数的正整数分别取出各位上的数字,再按条件组成一个新数。取A十位数字的方法A/10,取A个位数字的方法A10。参考答案VOIDFUNINTA,INTB,LONGCCB/101000A10100B1010A/10第03套1程序填空题给定程序中,函数FUN的功能是将自然数110以及它们的平方根写到名为MYFILE3TXT的文本文件中,然后再顺序读出显示在屏幕上。INCLUDEINCLUDEINTFUNCHARFNAMEFILEFPINTI,NFLOATXIFFPFOPENFNAME,“W“NULLRETURN0FORI1IINCLUDEFUNINTN,INTAINTI,J,P,TFORJ0JAI/FOUND/TIIFPJTAJAJAPAPTPUTARRINTN,INTZINTIFORI1IVOIDFUNINTA,INTB,LONGCMAININTA,BLONGCPRINTF“INPUTA,B“SCANF“D,D“,FUNA,B,PRINTF“THERESULTISLDN“,CNONO/本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件/解题思路本题是给出两个两位数的正整数分别取出各位上的数字,再按条件组成一个新数。取A十位数字的方法A/10,取A个位数字的方法A10参考答案VOIDFUNINTA,INTB,LONGCCB101000A10100B/1010A/10第04套1程序填空题给定程序的功能是调用函数FUN将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量SFNAME中,目标文件名放在变量TFNAME中。INCLUDEINCLUDEINTFUNCHARSOURCE,CHARTARGETFILEFS,FTCHARCH/FOUND/IFFSFOPENSOURCE,_1_NULLRETURN0IFFTFOPENTARGET,“W“NULLRETURN0PRINTF“NTHEDATAINFILEN“CHFGETCFS/FOUND/WHILEFEOF_2_PUTCHARCH/FOUND/FPUTCCH,_3_CHFGETCFS11FCLOSEFSFCLOSEFTPRINTF“NN“RETURN1MAINCHARSFNAME20“MYFILE1“,TFNAME20“MYFILE2“FILEMYFINTICHARCMYFFOPENSFNAME,“W“PRINTF“NTHEORIGINALDATAN“FORI1IVOIDFUNLONGS,LONGTINTDLONGSL1T0WHILES0DS10/FOUND/IFD20TDSLTSL10/FOUND/S10MAINLONGS,TPRINTF“NPLEASEENTERS“SCANF“LD“,FUNS,PRINTF“THERESULTISLDN“,T解题思路第一处判断相等的条件是。第二处整除的符号是/。123程序设计题函数FUN的功能是将两个两位数的正整数A、B合并形成一个整数放在C中。合并的方式是将A数的十位和个位数依次放在C数的十位和千位上,B数的十位和个位数依次放在C数的百位和个位上。例如,当A45,B12时,调用该函数后,C5142。INCLUDEVOIDFUNINTA,INTB,LONGCMAININTA,BLONGCPRINTF“INPUTA,B“SCANF“D,D“,FUNA,B,PRINTF“THERESULTISLDN“,CNONO/本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件/解题思路本题是给出两个两位数的正整数分别取出各位上的数字,再按条件组成一个新数。取A十位数字的方法A/10,取A个位数字的方法A10参考答案VOIDFUNINTA,INTB,LONGCCA101000B/10100A/1010B10第05套1程序填空题给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数FUN的功能是把形参X的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。INCLUDEINCLUDEDEFINEN8TYPEDEFSTRUCTLISTINTDATASTRUCTLISTNEXTSLISTVOIDFUNSLISTH,INTXSLISTP,Q,SSSLISTMALLOCSIZEOFSLIST/FOUND/SDATA_1_QHPHNEXTWHILEPNULLPPNEXT13SNEXTP/FOUND/QNEXT_3_SLISTCREATLISTINTASLISTH,P,QINTIHPSLISTMALLOCSIZEOFSLISTFORI0IDATAAIPNEXTQPQPNEXT0RETURNHVOIDOUTLISTSLISTHSLISTPPHNEXTIFPNULLPRINTF“NTHELISTISNULLN“ELSEPRINTF“NHEAD“DOPRINTF“D“,PDATAPPNEXTWHILEPNULLPRINTF“ENDN“MAINSLISTHEADINTXINTAN11,12,15,18,19,22,25,29HEADCREATLISTAPRINTF“NTHELISTBEFOREINSERTINGN“OUTLISTHEADPRINTF“NENTERANUMBER“SCANF“D“,FUNHEAD,XPRINTF“NTHELISTAFTERINSERTINGN“OUTLISTHEAD解题思路本题是要求在一个有序的链表中插入一个数,插入后各结点仍然是有序的。程序中共有三处要填上适当的内容,使程序能运行出正确的结果。第一处在函数FUN的开始处,已经对结构指针S分配了内存,其中DATA是一个整型变量,实际要求填入一个整型数据。根据本题要求在一个链表插入一个整型数,该数已通过函数的形参X传入,因此应填X。第二处使用一个WHILE循环找出要插入一个数的位置,在循环体中Q实际上保留当前链表P位置的临时变量,如果XPDATA时,那么再移动链表指针到下一个结果,再进行判断是否符合条件,如果仍大于,则仍Q保留链表P的位置。因此,此处应填P。第三处当找到结点位置后,就要插入这个数,完成插入过程。由于函数体中分配了结构指针S,S的NEXT指针已经指向了P,所以,当前位置Q的NEXT指针就应该指向指针S完成链表的链接。因此,此处应填S。2程序修改题给定程序MODI1C中函数FUN的功能是计算正整数NUM的各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。INCLUDELONGFUNLONGNUM14/FOUND/LONGKDOKNUM10/FOUND/NUM10WHILENUMRETURNKMAINLONGNPRINTF“PLEASEENTERANUMBER“SCANF“LD“,PRINTF“NLDN“,FUNN解题思路第一处由于在K定义时没有赋初值,所以K是一个随机数,根据试题要求,K应赋值为1。第二处整除的符号是/。3程序设计题请编写一个函数FUN,它的功能是计算N门课程的平均分,计算结果作为函数值返回。例如若有5门课程的成绩是905,72,80,615,55则函数的值为7180。INCLUDEFLOATFUNFLOATA,INTNMAINFLOATSCORE30905,72,80,615,55,AVERAVERFUNSCORE,5PRINTF“NAVERAGESCOREIS52FN“,AVERNONO/本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件/解题思路本题是使用循环来计算平均值且结果由函数值返回。参考答案FLOATFUNFLOATA,INTNINTIFLOATAVE00FORI0IINCLUDEDEFINEN8TYPEDEFSTRUCTLIST15INTDATASTRUCTLISTNEXTSLISTVOIDFUNSLISTPSLISTT,STPNEXTSPWHILETNEXTNULLST/FOUND/TT_1_/FOUND/PRINTF“D“,_2_SNEXTNULL/FOUND/FREE_3_SLISTCREATLISTINTASLISTH,P,QINTIHPSLISTMALLOCSIZEOFSLISTFORI0IDATAAIPNEXTQPQPNEXT0RETURNHVOIDOUTLISTSLISTHSLISTPPHNEXTIFPNULLPRINTF“NTHELISTISNULLN“ELSEPRINTF“NHEAD“DOPRINTF“D“,PDATAPPNEXTWHILEPNULLPRINTF“ENDN“MAINSLISTHEADINTAN11,12,15,18,19,22,25,29HEADCREATLISTAPRINTF“NOUTPUTFROMHEADN“OUTLISTHEADPRINTF“NOUTPUTFROMTAILN“WHILEHEADNEXTNULLFUNHEADPRINTF“NN“PRINTF“NOUTPUTFROMHEADAGAINN“OUTLISTHEAD解题思路本题是对已经建立的链表,通过调用一次函数就输出链表尾部的数据。程序中共有三处要填上适当的内容,使程序能运行出正确的结果。16第一处由于本题要求输出链表尾部的数据,函数是利用WHILE循环语句找出链表尾部的指针并存入临时变量S中,那么每循环一次就要判断链表是否已结束位置,如果是,则退出循环,进行输出,由于是通过T指针变量进行操作的,因此,都要取T的NEXT指针重新赋给T来实现,所以本处应填NEXT。第二处输出最后一个结点的数据,所以应填TDATA或TDATA。第三处输出出最后一个结点数据后,并把此结点删除了,程序要求释放内存,所以应填T。2程序修改题给定程序MODI1C中函数FUN的功能是将字符串中的字符按逆序输出,但不改变字符串中的内容。例如,若字符串为ABCD,则应输出DCBA。INCLUDE/FOUND/FUNCHARAIFAFUNA1/FOUND/PRINTF“C“AMAINCHARS10“ABCD“PRINTF“处理前字符串SN处理后字符串“,SFUNSPRINTF“N“解题思路第一处形参A应定义为字符串指针。第二处语句中缺少逗号。3程序设计题请编写一个函数FUN,它的功能是比较两个字符串的长度,不得调用C语言提供的求字符串长度的函数,函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。例如,输入BEIJINGSHANGHAI(为回车键),函数将返回SHANGHAI。INCLUDECHARFUNCHARS,CHARTMAINCHARA20,B20PRINTF“INPUT1THSTRING“GETSAPRINTF“INPUT2THSTRING“GETSBPRINTF“SN“,FUNA,BNONO/本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件/解题思路本题是比较两个字符串的长度并按要求返回字符串。我们给出的程序是使用FOR循环来判断两个字符串中哪一个比较长或相等,循环的终止值为两个字符串中是否字符串结束符,如果有,则退出循环体。接下来再判断两个字符串是否同时出现结束符,则返回第一个字符串S,如果不没有同时出现,则判断哪一个字符串先有结束17符,则按要求返回指定的字符串。参考答案CHARFUNCHARS,CHARTINTICHARPS,QTFORI0PIPQIFP0IFPRETURNSELSERETURNT第07套1程序填空题给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数FUN的功能是删除链表中数据域值相同的结点,使之只保留一个。INCLUDEINCLUDEDEFINEN8TYPEDEFSTRUCTLISTINTDATASTRUCTLISTNEXTSLISTVOIDFUNSLISTHSLISTP,QPHNEXTIFPNULLQPNEXTWHILEQNULLIFPDATAQDATAPNEXTQNEXT/FOUND/FREE_1_/FOUND/QP_2_ELSEPQ/FOUND/QQ_3_SLISTCREATLISTINTASLISTH,P,QINTIHPSLISTMALLOCSIZEOFSLISTFORI0IDATAAIPNEXTQPQ18PNEXT0RETURNHVOIDOUTLISTSLISTHSLISTPPHNEXTIFPNULLPRINTF“NTHELISTISNULLN“ELSEPRINTF“NHEAD“DOPRINTF“D“,PDATAPPNEXTWHILEPNULLPRINTF“ENDN“MAINSLISTHEADINTAN1,2,2,3,4,4,4,5HEADCREATLISTAPRINTF“NTHELISTBEFOREDELETINGN“OUTLISTHEADFUNHEADPRINTF“NTHELISTAFTERDELETINGN“OUTLISTHEAD解题思路本题是考察考生对链表的操作,主要是解决删除链表中数据域值相同的结点。程序中共有三处要填上适当的内容,使程序能运行出正确的结果。函数FUN中使用两个临时结构指针变量P和Q对链表进行操作。首先P指向链表开始的NEXT指针,Q指向P的NEXT指针,再利用WHILE循环语句来判断指针Q是否NULL,如果Q指针是指向NULL,那么函数结束返回。如果不是NULL,那么就要判断P和Q中DATA值是否相同,如果值相同,则要删除该结点,然后继续判断下一结点值是相同,如果还相同,那么继续删除结点,直至不相同为止。如果两个结点的值不相同,那么P就指向Q,Q指向Q的NEXT指针再继续操作上述过程。删除结点的方法是先将P的NEXT指针指向Q的NEXT指针,再释放Q指针指向的内存,最后把Q指针再指向P的NEXT指针就可以删除一个链表中的结点了。第一处释放Q指针所指的内存空间,应填Q。第二处Q指针指向P的NEXT指针,重新完成链接,应填NEXT。第三处两个结点的值不相同,那么Q就指向Q的NEXT指针,应填NEXT。2程序修改题给定程序MODI1C中函数FUN的功能是用选择法对数组中的N个元素按从小到大的顺序进行排序。INCLUDEDEFINEN20VOIDFUNINTA,INTNINTI,J,T,PFORJ0JDEFINEM100VOIDFUNINTM,INTA,INTNMAININTAAM,N,KFUN50,AA,FORK0KDEFINEM100VOIDFUNINTM,INTA,INTNINTIN0FORI7I20INCLUDEDEFINEN8TYPEDEFSTRUCTLISTINTDATASTRUCTLISTNEXTSLISTSLISTCREATLISTCHARVOIDOUTLISTSLISTINTFUNSLISTH,CHARCHSLISTPINTN0PHNEXT/FOUND/WHILEP_1_N/FOUND/IFPDATACHRETURN_2_ELSEPPNEXTRETURN0MAINSLISTHEADINTKCHARCHCHARANM,P,G,A,W,X,R,DHEADCREATLISTAOUTLISTHEADPRINTF“ENTERALETTER“SCANF“C“,/FOUND/KFUN_3_IFK0PRINTF“NNOTFOUNDN“ELSEPRINTF“THESEQUENCENUMBERISDN“,KSLISTCREATLISTCHARASLISTH,P,QINTIHPSLISTMALLOCSIZEOFSLISTFORI0IDATAAIPNEXTQPQPNEXT0RETURNHVOIDOUTLISTSLISTHSLISTPPHNEXTIFPNULLPRINTF“NTHELISTISNULLN“ELSEPRINTF“NHEAD“DOPRINTF“C“,PDATAPPNEXTWHILEPNULLPRINTF“ENDN“21解题思路本题是在给定的链表中要求找出指定的值。第一处判断P是否结束,所以应填NULL。第二处在函数FUN中,使用N来计算结点的位置,当找到CH值,则返回结点的位置N,所以应填RETURNN。第三处函数调用,在主函数中已经给出了HEAD和CH,所以应填HEAD,CH。2程序修改题给定程序MODI1C中函数FUN的功能是删除P所指字符串中的所有空白字符包括制表符、回车符及换行符。输入字符串时用结束输入。INCLUDEINCLUDEINCLUDEFUNCHARPINTI,TCHARC80/FOUND/FORI0,T0PIIIFISSPACEPICTPI/FOUND/CT“0“STRCPYP,CMAINCHARC,S80INTI0PRINTF“INPUTASTRING“CGETCHARWHILECSICICGETCHARSI0FUNSPUTSS解题思路第一处保留字FOR错写成FOR。第二处置字符串结束符错误,应该是0。3程序设计题请编写一个函数FUN,它的功能是将SS所指字符串中所有下标为奇数位置上的字母转换为大写若该位置上不是字母,则不转换。例如,若输入“ABC4EFG“,则应输出“ABC4EFG“。INCLUDEINCLUDEVOIDFUNCHARSSMAINCHARTT81PRINTF“NPLEASEENTERANSTRINGWITHIN80CHARACTERSN“GETSTTPRINTF“NNAFTERCHANGING,THESTRINGN“S“,TTFUNTT22PRINTF“NBECOMESN“S“N“,TTNONO/本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件/解题思路本题是考察考生对字母按要求进行转换。其中大小字母的ASCII值相差32。参考答案VOIDFUNCHARSSINTIFORI1IASTRUCTLISTNEXTSLISTSLISTCREATLISTINTAVOIDOUTLISTSLISTVOIDFUNSLISTH,INTNSLISTP/FOUND/_1_0PHNEXTWHILEPN/FOUND/PP_2_MAINSLISTHEADINTAN12,87,45,32,91,16,20,48,NUMHEADCREATLISTAOUTLISTHEAD/FOUND/FUN_3_,PRINTF“NNUMBERDN“,NUMSLISTCREATLISTINTASLISTH,P,QINTIHPSLISTMALLOCSIZEOFSLISTFORI0IDATAAIPNEXTQPQ23PNEXT0RETURNHVOIDOUTLISTSLISTHSLISTPPHNEXTIFPNULLPRINTF“THELISTISNULLN“ELSEPRINTF“NHEAD“DOPRINTF“D“,PDATAPPNEXTWHILEPNULLPRINTF“ENDN“解题思路本题是要求统计出带有头结点的单向链表中结点的个数。第一处对N所指的存储单元进行初始化,所以应填N。第二处指向P的下一个结点,所以应填NEXT。第三处函数调用,在主函数中已经给出了HEAD,所以应填HEAD。2程序修改题给定程序MODI1C中函数FUN的功能是求出S所指字符串中最后一次出现的T所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串若未找到,则函数值为NULL。例如,当字符串中的内容为“ABCDABFABCDX“,T中的内容为“AB“时,输出结果应是ABCDX。当字符串中的内容为“ABCDABFABCDX“,T中的内容为“ABD“时,则程序输出未找到信息NOTBEFOUND。INCLUDEINCLUDECHARFUNCHARS,CHARTCHARP,R,A/FOUND/ANULLWHILESPSRTWHILER/FOUND/IFRPRPELSEBREAKIFR0ASSRETURNAMAINCHARS100,T100,PPRINTF“NPLEASEENTERSTRINGS“SCANF“S“,SPRINTF“NPLEASEENTERSUBSTRINGT“SCANF“S“,TPFUNS,TIFPPRINTF“NTHERESULTISSN“,P24ELSEPRINTF“NNOTFOUNDN“解题思路第一处指向空指针错误,NULL应NULL。第二处比较指针位置的值是否相等,所以应改为IFRP。3程序设计题函数FUN的功能是将S所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在T所指的数组中。例如,若S所指字符串中的内容为“ABCDEFG123456“,其中字符A的ASCII码值为奇数,因此应当删除;其中字符B的ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其它依此类推。最后T所指的数组中的内容应是“246“。INCLUDEINCLUDEVOIDFUNCHARS,CHARTMAINCHARS100,T100PRINTF“NPLEASEENTERSTRINGS“SCANF“S“,SFUNS,TPRINTF“NTHERESULTISSN“,TNONO/本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件/解题思路本题是从一个字符串按要求生成另一个新的字符串。我们使用FOR循环语句来解决这个问题。参考答案VOIDFUNCHARS,CHARTINTI,J0FORI0IINCLUDEDEFINEN8TYPEDEFSTRUCTLISTINTDATASTRUCTLISTNEXTSLISTSLISTCREATLISTINT25VOIDOUTLISTSLISTINTFUNSLISTHSLISTPINTS0PHNEXTWHILEP/FOUND/SP_1_/FOUND/PP_2_RETURNSMAINSLISTHEADINTAN12,87,45,32,91,16,20,48HEADCREATLISTAOUTLISTHEAD/FOUND/PRINTF“NSUMDN“,FUN_3_SLISTCREATLISTINTASLISTH,P,QINTIHPSLISTMALLOCSIZEOFSLISTFORI0IDATAAIPNEXTQPQPNEXT0RETURNHVOIDOUTLISTSLISTHSLISTPPHNEXTIFPNULLPRINTF“THELISTISNULLN“ELSEPRINTF“NHEAD“DOPRINTF“D“,PDATAPPNEXTWHILEPNULLPRINTF“ENDN“解题思路本题是计算出带有头结点的单向链表中各结点数据域中值之和。第一处累加数据域中的值,所以应填DATA。第二处指定P的下一个指针,所以应填NEXT。第三处函数调用,在主函数中已经给出了HEAD,所以应填HEAD。2程序修改题给定程序MODI1C中函数FUN的功能是将S所指字符串中出现的与T1所指字符串相同的子串全部替换成T2所指字符串,所形成的新串放在W所指的数组中。在此处,要求T1和T2所指字符串的长度相同。例如,当S所指字符串中的内容为“ABCDABFAB“,T1所指子串中的内容为“AB“,T2所指子串中的内容为“99“时,结果在W所指的数组中的内容应为“99CD99F99“。26INCLUDEINCLUDEINTFUNCHARS,CHART1,CHART2,CHARWINTICHARP,R,ASTRCPYW,SWHILEWPWRT1/FOUND/WHILERIFRPRPELSEBREAKIFR0AWRT2WHILER/FOUND/ARARWSTRLENT2ELSEWMAINCHARS100,T1100,T2100,W100PRINTF“NPLEASEENTERSTRINGS“SCANF“S“,SPRINTF“NPLEASEENTERSUBSTRINGT1“SCANF“S“,T1PRINTF“NPLEASEENTERSUBSTRINGT2“SCANF“S“,T2IFSTRLENT1STRLENT2FUNS,T1,T2,WPRINTF“NTHERESULTISSN“,WELSEPRINTF“ERRORSTRLENT1STRLENT2N“解题思路第一处判断字符串当前字符是否是字符串结束符,所以应改为WHILER。第二处语句后缺少分号。3程序设计题函数FUN的功能是将S所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在T所指数组中。例如,当S所指字符串中的内容为“ABCDEFGHIJK“,在T所指数组中的内容应是“BDFHJ“。INCLUDEINCLUDEVOIDFUNCHARS,CHARTMAINCHARS100,T100PRINTF“NPLEASEENTERSTRINGS“SCANF“S“,S27FUNS,TPRINTF“NTHERESULTISSN“,TNONO/本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件/解题思路本题是从一个字符串按要求生成另一个新的字符串。我们使用FOR循环语句来解决这个问题。参考答案VOIDFUNCHARS,CHARTINTI,J0FORI1IINCLUDEDEFINEN8TYPEDEFSTRUCTCHARNUM10INTYEAR,MONTH,DAYSTU/FOUND/_1_FUNSTUSTD,CHARNUMINTISTUA“,9999,99,99FORI0IINCLUDEINTFUNCHARS,CHARTINTNCHARP,RN0WHILESPSRTWHILERIFRP/FOUND/RPELSEBREAK/FOUND/IFR0NSRETURNNMAINCHARS100,T100INTMPRINTF“NPLEASEENTERSTRINGS“SCANF“S“,SPRINTF“NPLEASEENTERSUBSTRINGT“SCANF“S“,TMFUNS,TPRINTF“NTHERESULTISMDN“,M解题思路第一处语句后缺少分号。第二处判断R的当前字符是否是字符串结束符,所以应改为IFR0。3程序设计题函数FUN的功能是将S所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在T所指的数组中。例如,若S所指字符串中的内容为“ABCDEFG12345“,其中字符B的ASCII码值为偶数、字符2的ASCII码值为偶数、都应当删除,其它依此类推。最后T所指的数组中的内容应是“ACEG135“。INCLUDEINCLUDEVOIDFUNCHARS,CHARTMAIN29CHARS100,T100PRINTF“NPLEASEENTERSTRINGS“SCANF“S“,SFUNS,TPRINTF“NTHERESULTISSN“,TNONO/本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件/解题思路本题是从一个字符串按要求生成另一个新的字符串。我们使用FOR循环语句来解决这个问题参考答案VOIDFUNCHARS,CHARTINTI,J0FORI0IDEFINEN8TYPEDEFSTRUCTINTNUMINTYEAR,MONTH,DAYSTUINTFUNSTUSTD,STUK,INTYEARINTI,N0FORI0I/FOUND/ISPRIMEINTNINTI,MM1FORI2IINCLUDEDEFINEN10TYPEDEFSTRUCTSSCHARNUM10INTSSTUFUNSTUA,STUSMAINSTUAN“A01“,81,“A02“,89,“A03“,66,“A04“,87,“A05“,77,“A06“,90,“A07“,79,“A08“,61,“A09“,80,“A10“,71,MINTIPRINTF“THEORIGINALDATAN“FORI0ITYPEDEFSTRUCTINTNUMCHARNAME9FLOATSCORE3STUVOIDSHOWSTUTTINTIPRINTF“DS“,TTNUM,TTNAMEFORI0I_2_AMAINSTUSTD1,“ZHANGHUA“,765,780,820FLOATAPRINTF“NTHEORIGINALNUMBERANDNAMEANDSCORESN“SHOWSTDPRINTF“NINPUTANUMBER“SCANF“F“,/FOUND/MODIFY_3_,APRINTF“NARESULTOFMODIFYINGN“SHOWSTD解题思路32本题是利用结构体存储学生记录并由实参SS返回。第一处实参SS是一个结构型指针变量,所以应填STU。第二处该学生的各科成绩都乘以一个系数A,所以应填SCOREI。第三处函数的调用,由于函数定义时使用的指针结构型变量,所以应填/FOUND/ELSEIFK0RETURN1LMAININTK10PRINTF“DLDN“,K,FUNK解题思路第一处条件判断缺少圆括号。第二处判断相等的符号是。3程序设计题程序定义了NN的二维数组,并在主函数中自动赋值。请编写函数FUNINTAN,INTN,函数的功能是使数组左下三角元素中的值乘以N。例如若N的值为3,A数组中的值为则返回主程序后A数组中的值为6548327911852967INCLUDEINCLUDEDEFINEN5INTFUNINTAN,INTNMAININTANN,N,I,JPRINTF“THEARRAYN“FORI0I3PRINTF“N4DN“,NFUNA,NPRINTF“THERESULTN“FORI0ITYPEDEFSTRUCTINTNUMCHARNAME10PERSON/FOUND/VOIDFUNPERSON_1_/FOUND/_2_TEMPIFSTD0NUMSTD1NUMTEMPSTD0STD0STD1STD1TEMPIFSTD0NUMSTD2NUMTEMPSTD0STD0STD2STD2TEMPIFSTD1NUMSTD2NUMTEMPSTD1STD1STD2STD2TEMPMAINPERSONSTD5,“ZHANGHU“,2,“WANGLI“,6,“LINMIN“INTI/FOUND/FUN_3_PRINTF“NTHERESULTISN“FORI0IINCLUDEINTFUNCHARSTR10,INTM,CHARPT/FOUND/INTK,Q,IFORK0KINCLUDEDEFINEN5INTFUNINTANMAININTANN,I,JPRINTF“THEARRAYN“FORI0ITYPEDEFSTRUCTCHARNAME10INTAGESTDSTDFUNSTDSTD,INTNSTDMAXINTI/FOUND/MAX_1_FORI1I36/FOUND/VOIDFUNINTA,BINTT/FOUND/TBBAATMAININTA,BPRINTF“ENTERA,B“SCANF“D,D“,FUNPRINTF“ADBDN“,A,B解题思路第一处函数形参定义不正确,在定义第2个形参时,也应加上INT。由于通过该函数实现两数交换,在C语言中,必须交换地址中的值,所以应定义为INTA,INTB。第二处要交换地址中的值,不能交换地址,必须指定地址中的值,因此应改为TBBAAT。3程序设计题请编一个函数VOIDFUNINTTTMN,INTPPN,TT指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入PP所指一维数组中。二维数组中的数已在主函数中赋予。INCLUDEDEFINEM3DEFINEN4VOIDFUNINTTTMN,INTPPNMAININTTMN22,45,56,30,19,33,45,38,20,22,66,40INTPN,I,J,KPRINTF“THEORIGINALDATAISN“FORI0ITTJIMINTTJIPPIMIN第16套1程序填空题程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函数FUN的功能是输出这位学生的信息。INCLUDETYPEDEFSTRUCTINTNUMCHARNAME9CHARSEXSTRUCTINTYEAR,MONTH,DAYBIRTHDAYFLOATSCORE3STU/FOUND/VOIDSHOWSTU_1_INTIPRINTF“NDSCDDD“,TTNUM,TTNAME,TTSEX,TTBIRTHDAYYEAR,TTBIRTHDAYMONTH,TTBIRTHDAYDAYFORI0IDEFINEN20INTFUNINTA,INTNINTI,M,T,KFORI0IAMKM38TAIAIAMAMTMAININTX,BN11,5,12,0,3,6,9,7,10,8,N10,IFORI0IAMMK。3程序设计题请编写一个函数UNSIGNEDFUNUNSIGNEDW,W是一个大于10的无符号整数,若W是NN2位的整数,函数求出W的低N1位的数作为函数值返回。例如W值为5923,则函数返回923;W值为923则函数返回23。INCLUDEUNSIGNEDFUNUNSIGNEDWMAINUNSIGNEDXPRINTF“ENTERAUNSIGNEDINTEGERNUMBER“SCANF“U“,PRINTF“THEORIGINALDATAISUN“,XIFX10000W10000ELSEIFW1000W1000ELSEIFW100W100ELSEIFW10W10RETURNW第17套1程序填空题给定程序中,函数FUN的功能是对形参SS所指字符串数组中的M个字符串按长度由短到长进行排序。SS所指字符串数组中共有M个字符串,且串长INCLUDEDEFINEM539DEFINEN20VOIDFUNCHARSSNINTI,J,K,NMCHARTNFORI0INJ_2_IFKISTRCPYT,SSISTRCPYSSI,SSK/FOUND/STRCPYSSK,_3_NKNIMAINCHARSSMN“SHANGHAI“,“GUANGZHOU“,“BEIJING“,“TIANJING“,“CCHONGQING“INTIPRINTF“NTHEORIGINALSTRINGSAREN“FORI0IINCLUDE/FOUND/VOIDFUNCHARSTR,CHARCHWHILESTR/FOUND/IFSTRCHSTR0CH/FOUND/STR10MAINCHARS81,CPRINTF“NPLEASEENTERASTRINGN“GETSS40PRINTF“NPLEASEENTERTHECHARACTERTOSEARCH“CGETCHARFUNS,CPRINTF“NTHERESULTISSN“,S解题思路第一处第1个形参应该是字符串类型,所以应改为VOIDFUNCHARSTR,CHARCH。第二处应该是判断不相等,所以应改为IFSTRCH。第三次置字符串结束符错误,所以应改为STR10。3程序设计题请编一个函数FUNCHARS,函数的功能是把S所指字符串中的内容逆置。例如字符串中原有的字符串为ABCDEFG,则调用该函数后,串中的内容为GFEDCBA。INCLUDEINCLUDEDEFINEN81FUNCHARSMAINCHARANPRINTF“ENTERASTRING“GETSAPRINTF“THEORIGINALSTRINGIS“PUTSAFUN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论