1、国家二级(C 语言)机试-试卷 10-2 及答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_2.给定程序的功能是:从键盘输入若干行文本(每行不超过 80 个字符),写到文件 myfile4txt 中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText 和 Write“Fext 实现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构!(分数:2
2、.00)_二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_4.给定程序 MODllC 中函数 fun 的功能是:将十进制正整数 m 转换成 k(2k9)进制数,并按高位到低位顺序输出。例如,若输入 8 和 2,则应输出 1000(即十进制数 8 转换成二进制表示是 1000)。 请改正fun 函数中的错误,使它能得出正确的结果。 注意:不要改动 main 函数。不得增行或删行,也不得更改程序的结构! (分数:2.00)_三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_6.函数 fun 的功能是:将 s 所指字符串中下标为偶数同
3、时 ASCII 值为奇数的字符删除,s 所指串中剩余的字符形成的新串放在 t 所指的数组中。例如,若 s 所指字符串中的内容为“ABCDEFGl2345”,其中字符 C的 ASCII 码值为奇数,在数组中的下标为偶数,因此必须删除:而字符 1 的 ASCII 码值为奇数,在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后 t 所指的数组中的内容应是“BDFl2345”。注意:部分源程序存在文件 PROGlC 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_国家二级(C 语言)机试-试卷 10-2 答案解析(总
4、分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_解析:2.给定程序的功能是:从键盘输入若干行文本(每行不超过 80 个字符),写到文件 myfile4txt 中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText 和 Write“Fext 实现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构!(分数:2.00)_正确答案:(正确答案:(1)*fw (2
5、)str (3)str)解析:解析:本题要求是把一段文本写到文件 myfile4txt 中,用-1 作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。主要是文件操作以及 fbuts 和 fgets 函数的使用。二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_解析:4.给定程序 MODllC 中函数 fun 的功能是:将十进制正整数 m 转换成 k(2k9)进制数,并按高位到低位顺序输出。例如,若输入 8 和 2,则应输出 1000(即十进制数 8 转换成二进制表示是 1000)。 请改正fun 函数中的错误,使它能得出正确的结果。 注意:不要改动 m
6、ain 函数。不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)aaimk; (2)printf(d,aai1);)解析:解析:本题中函数的功能是将十进制正整数 m 转换成 k(2k9)进制数。对于十进制转换成 k 进制数的一般算法是将这个数除以进制,取余反序输出。三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_解析:6.函数 fun 的功能是:将 s 所指字符串中下标为偶数同时 ASCII 值为奇数的字符删除,s 所指串中剩余的字符形成的新串放在 t 所指的数组中。例如,若 s 所指字符串中的内容为“ABCDEFGl23
7、45”,其中字符 C的 ASCII 码值为奇数,在数组中的下标为偶数,因此必须删除:而字符 1 的 ASCII 码值为奇数,在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后 t 所指的数组中的内容应是“BDFl2345”。注意:部分源程序存在文件 PROGlC 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_正确答案:(正确答案: )解析:解析:该程序功能是删除下标为偶数同时 ASCII 值为奇数的字符。解题过程利用 if 判断表达式选择下标为偶数同时 ASCII 值为奇数的字符,然后将符合条件的字符放入指定的字符串,这样就实现了函数功能。