1、国家二级(C 语言)机试-试卷 42 及答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_2.给定程序中,函数 fun 的功能是:判断形参 s 所指字符串是否是”回文”(Palindrome),若是,函数返回值为 1;不是,函数返回值为 0。”回文”是正读和反读都一样的字符串:不区分大小写字母)。例如,LEVEL 和 Level 是”回文”,而 LEVLEV 不是”回文”。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1C 中。不得增行或删行,也
2、不得更改程序的结构! (分数:2.00)_二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_4.给定程序 MODIIC 中函数 fun 的功能是:把主函数中输入的 3 个数,最大的放在 a 中,最小的放在 c中,中间的放在 b 中。例如,输入的数为:55 12 34,输出结果应当是:a550,b340,c120。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 (分数:2.00)_三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_6.假定输入的字符串中只包含字母和*号
3、。请编写函数 fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。例如,字符串中的内容为:*A*BC*DEF*G*,删除后,字符串中的内容应当是:*A*BC*DEF*G。在编写函数时,不得使用 C 语言提供的字符串函数。注意:部分源程序在文件PROGlC 文件中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_国家二级(C 语言)机试-试卷 42 答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_解析:2.给定程序中,函
4、数 fun 的功能是:判断形参 s 所指字符串是否是”回文”(Palindrome),若是,函数返回值为 1;不是,函数返回值为 0。”回文”是正读和反读都一样的字符串:不区分大小写字母)。例如,LEVEL 和 Level 是”回文”,而 LEVLEV 不是”回文”。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1C 中。不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)s (2)- (3)return O)解析:解析:函数 fun 的功能是:判断形参 s 所指字符串是否是”回文”,即比较
5、第一个字符和最后一个字符是否相同,第二个字符和倒数第二个字符是否相同,依此类推,可以用循环来实现。二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_解析:4.给定程序 MODIIC 中函数 fun 的功能是:把主函数中输入的 3 个数,最大的放在 a 中,最小的放在 c中,中间的放在 b 中。例如,输入的数为:55 12 34,输出结果应当是:a550,b340,c120。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 (分数:2.00)_正确答案:(正确答案:(1)f1oat k; (2)if(
6、*a*c)解析:解析:本题中函数的功能是把主函数中输入的 3 个数,最大的放在 a 中,最小的放在 c 中。对三个数进行两两比较,实现函数功能。三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_解析:6.假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。例如,字符串中的内容为:*A*BC*DEF*G*,删除后,字符串中的内容应当是:*A*BC*DEF*G。在编写函数时,不得使用 C 语言提供的字符串函数。注意:部分源程序在文件PROGlC 文件中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_正确答案:(正确答案: )解析:解析:该程序功能是将字符串尾部的“*”号全部删除,前面和中间的“*”号不删除。本题的解题过程首先确定由串尾开始的第一个非“*”位置,将由头开始到此位置的字符拷贝到字符串。