1、国家二级(C 语言)机试-试卷 78 及答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_2.给定程序中,函数 fun 的功能是:在形参 s 所指字符串中的每个数字字符之后插入一个*号。例如,形参 s 所指的字符串为:def35adh3kjsdf7。执行结果为:def3*5*adh3*kjsdf7*。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构! (分数:2.00)_二、程序修改题(总题数:2,分数
2、:4.00)3.程序修改题()(分数:2.00)_4.给定程序 MODllC 中 fun 函数的功能是:分别统计字符串中大写字母和小写字母的个数。例如,给字符串 s 输入:AAaaBBb123CCccccd,则应输出结果:upper6,lower8。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! (分数:2.00)_三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_6.请编写函数 fun,其功能是:计算并输出下列多项式的值: 例如,在主函数中从键盘给 n 输入 50后,输出为:s171828
3、2。注意:要求 n 的值大于 1 但不大于 100。部分源程序在文件 PROGlC 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。(分数:2.00)_国家二级(C 语言)机试-试卷 78 答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_解析:2.给定程序中,函数 fun 的功能是:在形参 s 所指字符串中的每个数字字符之后插入一个*号。例如,形参 s 所指的字符串为:def35adh3kjsdf7。执行结果为:def3*5*adh3*kjsdf7*。请在
4、程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1) (2)0 或“0” (3)sj)解析:解析:函数 fun 的功能是在形参 s 所指字符串中的每个数字字符之后插入一个“*”号。在 fun 函数中,首先寻找数字字符,找到之后,将其后的字符往后移动一位,然后再在数字字符后面插入“*”。二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_解析:4.给定程序 MODllC 中 fun 函数的功能是:分别统计字符串中
5、大写字母和小写字母的个数。例如,给字符串 s 输入:AAaaBBb123CCccccd,则应输出结果:upper6,lower8。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)void fun(char*s,int*a,int *b) (2)*a*a1 ; (3)*b*b1;)解析:解析:该程序功能是统计字符串中的大小写字母的个数。从已给定源程序的 main 主函数开始入手,调用函数“fun(s,uper,&lower);”,传参数 uper,lower 的地址,对字符串
6、s 中的字符进行判断,求得该字符串中大小写字母的个数。三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_解析:6.请编写函数 fun,其功能是:计算并输出下列多项式的值: 例如,在主函数中从键盘给 n 输入 50后,输出为:s1718282。注意:要求 n 的值大于 1 但不大于 100。部分源程序在文件 PROGlC 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。(分数:2.00)_正确答案:(正确答案: )解析:解析:该程序功能是计算并输出多项式值。根据题干中给出的数列,首先推出每一项的表达式,然后再对多项式进行累加求和。