1、2018 年计算机等级考试二级 C 语言程序题练习 29 及答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)给定程序中,函数 fun 的功能是找出形参 s 所指字符串中出现频率最高的字母(不区分大小写), 并统计出其出现的次数。例如,形参 s 所指的字符串为 abcAbsmaxless, 程序执行后的输出结果为letter a: 3 timesletter s: 3 times请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序保存在考生文件失下的 BLANK1. C 中。不得增行或删行,也不得更改程序的结构!给
2、定源程序如下。(分数:30)(1)(分数:10)填空项 1:_(2)(分数:10)填空项 1:_(3)(分数:10)填空项 1:_二、程序改错题(总题数:1,分数:30.00)给定程序 MODI1.C 中函数 fun 的功能是求 s 的值。例如,当 k 为 10 时,函数值应为:1.533852。 请改正程序中的错误,使程序能输出正确的 结果。注意:不要改动 main 函数,不得增行或删行, 也不得更改程序的结构!给定源程序如下。(分数:30.00)_三、程序设计题(总题数:1,分数:40.00)编写函数 fun,它的功能是计算并输出下列级 数和:例如,当 n=10 时,函数值为 0.9090
3、91。注意:部分源程序保存在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何 内容,仅在函数 fun 的花括号中填入编写的若干 语句。给定源程序如下。(分数:40.00)_2018 年计算机等级考试二级 C 语言程序题练习 29 答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)给定程序中,函数 fun 的功能是找出形参 s 所指字符串中出现频率最高的字母(不区分大小写), 并统计出其出现的次数。例如,形参 s 所指的字符串为 abcAbsmaxless, 程序执行后的输出结果为letter a: 3 timesletter
4、 s: 3 times请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序保存在考生文件失下的 BLANK1. C 中。不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30)(1)(分数:10)填空项 1:_ (正确答案:*s)解析:isaipha 函数的作用是判断当前字符是 否为字母,tolower 函数的作用是将当前字母转换为 小写字母,所以应填*s。(2)(分数:10)填空项 1:_ (正确答案:1)解析:把该字母出现的个数累加到指定的数 组中,所以应填 1。(3)(分数:10)填空项 1:_ (正确答案:kn)解析:max 用来记录出现次数
5、最高的字母的 出现次数,如果当前该字母出现次数大于最大次数 max,那么把该次数赋值给 max,所以应填 kn。二、程序改错题(总题数:1,分数:30.00)给定程序 MODI1.C 中函数 fun 的功能是求 s 的值。例如,当 k 为 10 时,函数值应为:1.533852。 请改正程序中的错误,使程序能输出正确的 结果。注意:不要改动 main 函数,不得增行或删行, 也不得更改程序的结构!给定源程序如下。(分数:30.00)_正确答案:((1)double fun(int k)(2) while (n=k)(3)return s ;)解析:(1)此处为函数定义错误,根据返回值的类型 可
6、知函数类型标识符应为 double。(2)循环过程中,最后一项中,n=k,所以应该 修改为 while (n=k)。(3)语法错误。三、程序设计题(总题数:1,分数:40.00)编写函数 fun,它的功能是计算并输出下列级 数和:例如,当 n=10 时,函数值为 0.909091。注意:部分源程序保存在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何 内容,仅在函数 fun 的花括号中填入编写的若干 语句。给定源程序如下。(分数:40.00)_正确答案:()解析:本题要求级数的和,由多项式的形式可知,应 使用循环语句实现,循环的通项为 1/n(n+1)。本程 序首先定义了和变量及循环变量,然后运用一个 for 语句求出级数的和,最后将和变量 s 返回。