1、2018 年计算机等级考试二级 C 语言程序题练习 8 及答案解析(总分:64.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)给定程序中,函数 fun 的功能是计算下式例如:若形参 e 的值为 1e-3,函数的返回值为 0.551690。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1C 中。不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30)(1).(分数:10)填空项 1:_(2).(分数:10)填空项 1:_(3).(分数:10)填空项 1:_二、程序改错题(总题数:1,分数:
2、30.00)给定程序 MODI1C 中函数 fun 的功能是:求出以下分数序列的前 n 项之和。和值通过函数值返回到 main函数。例如,若 n=5,则应输出 8.391667。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动 main 函教,不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30.00)_三、程序设计题(总题数:1,分数:4.00)请编写一个函数 fun,它的功能是:求出一个 2M 整型二维数组中最大元素的值,并将此值返回调用函数。注意:部分源程序保存在文件 PROG1C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中
3、填入编写的若干语句。给定源程序如下。(分数:4.00)_2018 年计算机等级考试二级 C 语言程序题练习 8 答案解析(总分:64.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)给定程序中,函数 fun 的功能是计算下式例如:若形参 e 的值为 1e-3,函数的返回值为 0.551690。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1C 中。不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30)(1).(分数:10)填空项 1:_ (正确答案:3.0 或(double)3)解析:变
4、量 x 定义为 double 类型,而运算符“/”后面是整型数,所以给 x 赋值时,注意数据类型,此处不能将3.0 写成 3。(2).(分数:10)填空项 1:_ (正确答案:)解析:while 循环语句的循环条件,根据题意确定循环变量应大于 1e-3,因此,此处应填“”。(3).(分数:10)填空项 1:_ (正确答案:(t+1))解析:表达式的通项是(2*i+1)/(2*i)2,由于程序中已定义 t=2*i,所以此处应该填写(t+1)。二、程序改错题(总题数:1,分数:30.00)给定程序 MODI1C 中函数 fun 的功能是:求出以下分数序列的前 n 项之和。和值通过函数值返回到 ma
5、in函数。例如,若 n=5,则应输出 8.391667。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动 main 函教,不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30.00)_正确答案:(1)double fun(int n)(2)s=s+(double)a/b;)解析:(1)由语句“return(s)”和变量 s 定义为 double 数据类型可知,该函数定义时其类型标识符为 double类型。(2)注意数据类型 double 的书写格式。三、程序设计题(总题数:1,分数:4.00)请编写一个函数 fun,它的功能是:求出一个 2M 整型二维数组中最大元素的值,并将此值返回调用函数。注意:部分源程序保存在文件 PROG1C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入编写的若干语句。给定源程序如下。(分数:4.00)_正确答案:()解析:对此类求最大值或最小值的问题,我们可以采用逐个比较的方式,要求对数组中的所有元素遍历一遍,并且从中找出最大值或最小值。首先定义变量 max 存放数组中的第一个元素的值,然后利用 for 循环逐个找出数组中的元素,并与 max 比较,如果元素值大于 max,则将该值赋予 max,循环结束后 max 的值即为数组最大值,最后将该值返回。