第01套 给定程序中函数fun的功能.docx
《第01套 给定程序中函数fun的功能.docx》由会员分享,可在线阅读,更多相关《第01套 给定程序中函数fun的功能.docx(4页珍藏版)》请在冰豆网上搜索。
第01套给定程序中函数fun的功能
第01套 给定程序中函数fun的功能是将形参n所指变量中各位上为偶数的数去除剩余的数按原来从高位到低位的顺序组成一个新的数并通过形参指针n传回所指变量。
例如输入一个数27638496新的数为739。
请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。
注意源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行也不得更改程序的结构给定源程序includeltstdio.hgtvoidfununsignedlongnunsignedlongx0iintti1whilentn__1__ift2__2__xxtiii10nn/10n__3__mainunsignedlongn-1whilengt99999999nlt0printfquotPleaseinput0ltnlt100000000:
quotscanfquotldquotampnfunampnprintfquotnTheresultis:
ldnquotn解题思路第一处t是通过取模的方式来得到n的个位数字所以应填10。
第二处判断是否是奇数所以应填0。
第三处最后通形参n来返回新数x所以应填x。
给定程序MODI1.C中函数fun的功能是计算n。
例如给n输入5则输出120.000000。
请改正程序中的错误使程序能输出正确的结果。
注意不要改动main函数不得增行或删行也不得更改程序的结构给定源程序includeltstdio.hgtdoublefunintndoubleresult1.0ifn0return1.0whilengt1ampampnlt170resultn--returnresultmainintnprintfquotInputN:
quotscanfquotdquotampnprintfquotnndlfnnquotnfunn解题思路第一处条件语句书写格式错误应改为ifn0。
第二处语句后缺少分号。
请编写一个函数fun它的功能是将一个数字字符串转换为一个整数不得调用C语言提供的将字符串转换为整数的函数。
例如若输入字符串quot-1234quot则函数把它转换为整数值-1234。
函数fun中给出的语句仅供参考。
注意:
部分源程序存在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容仅在函数fun的花括号中填入你编写的若干语句。
给定源程序includeltstdio.hgtincludeltstring.hgtlongfuncharpintilent/len为串长t为正负标识/longx0lenstrlenpifp0-t-1len--pelset1/以下完成数字字符串转换为一个数字/returnxtmain/主函数/chars6longnprintfquotEnterastring:
nquotgetssnfunsprintfquotldnquotnNONONONO/本函数用于打开文件输入数据调用函数输出数据关闭文件。
/FILEfpwfintichars20longnfpfopenquotc:
testin.datquotquotrquotwffopenquotc:
testout.datquotquotwquotfori0ilt10ifscanffpquotsquotsnfunsfprintfwfquotldnquotnfclosefpfclosewf解题思路本题是将一个数字字符串转换为一个整数。
参考答案includeltstdio.hgtincludeltstring.hgtlongfuncharpintilent/len为串长t为正负标识/longx0lenstrlenpifp0-t-1len--pelset1/以下完成数字字符串转换为一个数字/whilepxx10-48preturnxtmain/主函数/chars6longnprintfquotEnterastring:
nquotgetssnfunsprintfquotldnquotnNONONONO/本函数用于打开文件输入数据调用函数输出数据关闭文件。
/FILEfpwfintichars20longnfpfopenquotc:
testin.datquotquotrquotwffopenquotc:
testout.datquotquotwquotfori0ilt10ifscanffpquotsquotsnfunsfprintfwfquotldnquotnfclosefpfclosewf注意由于NONO这个函数是改卷人用的与考生没有什么关系故下面从第2套试题开始均省略NONO※※※※※※※※※※※※※※※※※※※※※※※※※第02套 给定程序中函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。
注意源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行也不得更改程序的结构给定源程序includeltstdio.hgtvoidfuncharsintadoublef__1__fpcharchfpfopenquotfile1.txtquotquotwquotfprintffpquotsdfnquotsaffclosefpfpfopenquotfile1.txtquotquotrquotprintfquotnTheresult:
nnquotchfgetcfpwhilefeof__2__putchar__3__chfgetcfpputcharnfclosefpmainchara10quotHelloquotintb12345doublec98.76funabc解题思路本题是考察先把给定的数据写入到文本文件中再从该文件读出并显示在屏幕上。
第一处定义文本文件类型变量所以应填FILE。
第二处判断文件是否结束所以应填fp。
第三处显示读出的字符所以应填ch。
给定程序MODI1.C中函数fun的功能是:
依次取出字符串中所有数字字符形成新的字符串并取代原字符串。
请改正函数fun中指定部位的错误使它能得出正确的结果。
注意:
不要改动main函数不得增行或删行也不得更改程序的结构给定源程序includeltstdio.hgtvoidfuncharsintijfori0j0si0iifsigt0ampampsilt9sjsisjquot0quotmaincharitem80printfquotnEnterastring:
quotgetsitemprintfquotnnThestringis:
quotsquotnquotitemfunitemprintfquotnnThestringofchangingis:
quotsquotnquotitem解题思路第一处:
要求是取出原字符串中所有数字字符组成一个新的字符串程序中是使用变量j来控制新字符串的位置所以应改为sjsi。
第二处:
置新字符串的结束符所以应改为sj0.请编写函数fun函数的功能是:
将M行N列的二维数组中的字符数据按列的顺序依次放到一个字符串中。
例如二维数组中的数据为:
WWWWSSSSHHHH则字符串中的内容应是:
WSHWSHWSH。
注意部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容仅在函数fun的花括号中填入你编写的若干语句。
给定源程序includeltstdio.hgtdefineM3defineN4voidfuncharsNcharbintijn0fori0iltNi/请填写相应语句完成其功能/bn0mainchara100wMNWWWWSSSSHHHHintijprintfquotThematrix:
nquotfori0iltMiforj0jltNjprintfquot3cquotwijprintfquotnquotfunwaprintfquotTheAstring:
nquotputsaprintfquotnnquotNONO解题思路本题是把二维数组中的字符数据按列存放到一个字符串中。
1.计算存放到一维数组中的位置。
2.取出二维数组中的字符存放到一维数组已计算出的位置中。
参考答案voidfuncharsNcharbintijn0fori0iltNi/请填写相应语句完成其功能/forj0jltMjbnsjiniMj1bn0※※※※※※※※※※※※※※※※※※※※※※※※※第03套程序通过定义学生结构体变量存储了学生的学号、姓名和3门课的成绩。
所有学生数据均以二进制方式输出到文件中。
函数fun的功能是重写形参filename所指文件中最后一个学生的数据即用新的学生数据覆盖该学生原来的数据其它学生的数据不变。
请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。
注意源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行也不得更改程序的结构给定源程序includeltstdio.hgtdefineN5typedefstructstudentlongsnocharname10floatscore3STUvoidfuncharfilenameSTUnFILEfpfpfopen__1__quotrbquotfseek__2__-1LsizeofSTUSEEK_ENDfwriteampnsizeofSTU1__3__fclosefpmainSTUtN10001quotMaChaoquot91927710002quotCaoKaiquot75608810003quotLiSiquot85707810004quotFangFangquot90828710005quotZhangSanquot958088STUn10006quotZhaoSiquot557068ssNintijFILEfpfpfopenquotstudent.datquotquotwbquotfwritetsizeofSTUNfpfclosefpfpfopenquotstudent.datquotquotrbquotfreadsssizeofSTUNfpfclosefpprintfquotnTheoriginaldata:
nnquotforj0jltNjprintfquotnNo:
ldName:
-8sScores:
quotssj.snossj.namefori0ilt3iprintfquot6.2fquotssj.scoreiprintfquotnquotfunquotstudent.datquotnprintfquotnThedataaftermodifing:
nnquotfpfopenquotstudent.datquotquotrbquotfreadsssizeofSTUNfpfclosefpforj0jltNjprintfquotnNo:
ldName:
-8sScores:
quotssj.snossj.namefori0ilt3iprintfquot6.2fquotssj.scoreiprintfquotnquot解题思路本题是考察如何从文件中读出数据再把结构中的数据写入文件中。
第一处从指定的文件中读出数据所以应填filename。
第二处读取文件fp的最后一条记录所以应填fp。
第三处再把读出的记录写入文件fp指定的位置上所以应填fp。
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表并为各结点数据域赋0到m-1的值。
请改正函数Creatlink中指定部位的错误使它能得出正确的结果。
注意:
不要改动main函数不得增行或删行也不得更改程序的结构给定源程序includeltstdio.hgtincludeltstdlib.hgttypedefstructaaintdatastructaanextNODENODECreatlinkintnintmNODEhNULLpsintipNODEmallocsizeofNODEhpp-gtnextNULLfori1iltnisNODEmallocsizeofNODEs-gtdatarandms-gtnextp-gtnextp-gtnextspp-gtnextreturnpoutlinkNODEhNODEpph-gtnextprintfquotnnTHELIST:
nnHEADquotwhilepprintfquot-gtdquotp-gtdatapp-gtnextprintfquotnquotmainNODEheadheadCreatlink822outlinkhead解题思路第一处:
指向刚分配的结构指针所以应改为pNODEmallocsizeofNODE第二处:
在动态分配内存的下一行语句是使用临时结构指针变量h保存p指针的初始位置最后返回不能使用p是因为p的位置已经发生了变化所以应改为返回h。
请编写函数fun函数的功能是:
统计一行字符串中单词的个数作为函数值返回。
一行字符串在主函数中输入规定所有单词由小写字母组成单词之间由若干个空格隔开一行的开始没有空格。
注意部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容仅在函数fun的花括号中填入你编写的若干语句。
给定源程序includeltstdio.hgtincludeltstring.hgtdefineN80intfuncharsmaincharlineNintnum0printfquotEnterastring:
nquotgetslinenumfunlineprintfquotThenumberofwordis:
dnnquotnumNONO解题思路本题是统计字符串中的单词数。
1.利用while循环语句和指针变量当字符为空格时则单词数k加1。
2.循环结束返回k。
参考答案intfuncharsintk1whilesifsksreturnk※※※※※※※※※※※※※※※※※※※※※※※※※第04套程序通过定义学生结构体变量存储了学生的学号、姓名和3门课的成绩。
所有学生数据均以二进制方式输出到文件中。
函数fun的功能是从形参filename所指的文件中读入学生数据并按照学号从小到大排序后再用二进制方式把排序后的学生数据输出到filename所指的文件中覆盖原来的文件内容。
请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。
注意源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行也不得更改程序的结构给定源程序includeltstdio.hgtdefineN5typedefstructstudentlongsnocharname10floatscore3STUvoidfuncharfilenameFILEfpintijSTUsNtfpfopenfilename__1__freadssizeofSTUNfpfclosefpfori0iltN-1iforji1jltNjifsi.sno__2__sj.snotsisisjsjtfpfopenfilenamequotwbquot__3__ssizeofSTUNfp/二进制输出/fclosefpmainSTUtN10005quotZhangSanquot95808810003quotLiSiquot85707810002quotCaoKaiquot75608810004quotFangFangquot90828710001quotMaChaoquot919277ssNintijFILEfpfpfopenquotstudent.datquotquotwbquotfwritetsizeofSTU5fpfclosefpprintfquotnnTheoriginaldata:
nnquotforj0jltNjprintfquotnNo:
ldName:
-8sScores:
quottj.snotj.namefori0ilt3iprintfquot6.2fquottj.scoreiprintfquotnquotfunquotstudent.datquotprintfquotnnThedataaftersorting:
nnquotfpfopenquotstudent.datquotquotrbquotfreadsssizeofSTU5fpfclosefpforj0jltNjprintfquotnNo:
ldName:
-8sScores:
quotssj.snossj.namefori0ilt3iprintfquot6.2fquotssj.scoreiprintfquotnquot解题思路本题是考察把结构中的数据写入文件。
第一处建立文件的类型考虑到是把结构中的数据结构中的数据包含不打印的字符从文件中读出所以应填quotrbquot。
第二处判断当前学号是否大于刚读出的学号进行相比如果大于则进行交换所以应填gt。
第三处把已排序的结构数据重新写入文件所以应填fwrite。
给定程序MODI1.C中函数fun的功能是:
在字符串的最前端加入n个号形成新串并且覆盖原串。
注意:
字符串的长度最长允许为79。
请改正函数fun中指定部位的错误使它能得出正确的结果。
注意:
不要改动main函数不得增行或删行也不得更改程序的结构给定源程序includeltstdio.hgtincludeltstring.hgtvoidfuncharsintnchara80pintispfori0iltniaidoaipiwhilepai0strcpysamainintnchars80printfquotnEnterastring:
quotgetssprintfquotnThestringquotsquotnquotsprintfquotnEnternnumberof:
quotscanfquotdquotampnfunsnprintfquotnThestringafterinsert:
quotsquotnquots解题思路第一处:
指针p应指向s所以应改为ps。
第二处:
死循环当dowhile循环执行一次临时变量p应该指向字符串的下一位置所以应改为whilep。
请编写函数fun函数的功能是:
统计各年龄段的人数。
N个年龄通过调用随机函数获得并放在主函数的age数组中要求函数把0至9岁年龄段的人数放在d0中把10至19岁年龄段的人数放在d1中把20至29岁年龄段的人数放在d2中其余依此类推把100岁含100以上年龄的人数都放在d10中。
结果在主函数中输出。
注意部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容仅在函数fun的花括号中填入你编写的若干语句。
给定源程序includeltstdio.hgtdefineN50defineM11voidfunintaintbdoublerndstatict29c217m1024r0rrtcmreturndoubler/mmainintageNidMfori0iltNiageiint115rndprintfquotTheoriginaldata:
nquotfori0iltNiprintfi1100quot4dnquot:
quot4dquotageiprintfquotnnquotfunagedfori0ilt10iprintfquot4d---4d:
4dnquoti10i109diprintfquotOver100:
4dnquotd10NONOd解题思路本题是统计各年龄段的人数。
1.初始化各年龄段人数为0。
2.使用for循环以及求出各年龄的十位数字作为存放人数的地址如果大于值大于10则存入d10中大于110岁的人。
参考答案voidfunintaintbintijfori0iltMibi0fori0iltNijai/10ifjgt10bM-1elsebjdoublerndstatict29c217m1024r0rrtcmreturndoubler/m※※※※※※※※※※※※※※※※※※※※※※※※※第05套 给定程序中函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中再用字符串方式从此文本文件中逐个读入并调用库函数atoi和atof将字符串转换成相应的整数、浮点数然后将其显示在屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。
注意源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行也不得更改程序的结构给定源程序includeltstdio.hgtincludeltstdlib.hgtvoidfuncharsintadoublef__1__fpcharstr100str1100str2100inta1doublef1fpfopenquotfile1.txtquotquotwquotfprintffpquotsdfnquotsaf__2__fpfopenquotfile1.txtquotquotrquotfscanf__3__quotsssquotstrstr1str2fclosefpa1atoistr1f1atofstr2printfquotnTheresult:
nnsdfnquotstra1f1mainchara10quotHelloquotintb12345doublec98.76funabc解题思路本题是考察先把给定的数据写入到文本文件中再从该文件读出并转换成相应的整数、浮点数显示在屏