1、2018 年计算机等级考试二级 C 语言程序题练习 23 及答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)1.给定程序中,函数 fun 的功能是在 3x4 的矩阵中找出在行上最大、在列上最小的那个元素,若没 有符合条件的元素则输出相应信息。例如,有下列矩阵:程序执行结果为 find : a22=9。请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30)(1).(分数:10)填空项 1:_(2).(分数:
2、10)填空项 1:_(3).(分数:10)填空项 1:_二、程序改错题(总题数:1,分数:30.00)2.给定程序 MODI1.C 中函数 fun 的功能是根据整 型形参 m 的值,计算如下公式的值。例如,若 m 中的值为 5,则应输出 0.536389。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行, 也不得更改程序的结构!给定源程序如下。(分数:30.00)_三、程序设计题(总题数:1,分数:40.00)3.m 个人的成绩存放在 score 数组中,请编写函数 fun,它的功能是将低于平均分的人数作为函数 值返回,将低于平均分的分数放在 below
3、 所指的数组中。例如,当 score 数组中的数据为 10、20、 30、40、50、60、70、80、90 时,函数返回的人数应该是 4, below 所指的数组中的数据应为 10、 20、 30、 40。注意:部分源程序保存在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入编写的若干语句。给定源程序如下。(分数:40.00)_2018 年计算机等级考试二级 C 语言程序题练习 23 答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)1.给定程序中,函数 fun 的功能是在 3x4 的
4、矩阵中找出在行上最大、在列上最小的那个元素,若没 有符合条件的元素则输出相应信息。例如,有下列矩阵:程序执行结果为 find : a22=9。请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30)(1).(分数:10)填空项 1:_ (正确答案:j)解析:找出行上最大的数,并将该数的列数 j 保存在 c 中,所以应填 j。(2).(分数:10)填空项 1:_ (正确答案:0)解析:使用 while 循环语句和控制变量 find, 如果该数不是列中的最小数
5、,那么把 find 置 0,所 以应填 0。(3).(分数:10)填空项 1:_ (正确答案:i+)解析:i 是 while 的控制变量,所以每做一次循环,该数值要加 1,所以应填 i+。二、程序改错题(总题数:1,分数:30.00)2.给定程序 MODI1.C 中函数 fun 的功能是根据整 型形参 m 的值,计算如下公式的值。例如,若 m 中的值为 5,则应输出 0.536389。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行, 也不得更改程序的结构!给定源程序如下。(分数:30.00)_正确答案:((1) for(i = 2 ; i= m ; i
6、+)(2) y -= 1.0/(i * i);)解析:(1)使用 for 循环计算公式,必须计算到 m,所 以应改为 for(i=2; i=m; i+)。(2)在除法运算中,如果除数和被除数都是整数,那么所得结果也是整数,因此应改为 y-=1,0/(i*i)。三、程序设计题(总题数:1,分数:40.00)3.m 个人的成绩存放在 score 数组中,请编写函数 fun,它的功能是将低于平均分的人数作为函数 值返回,将低于平均分的分数放在 below 所指的数组中。例如,当 score 数组中的数据为 10、20、 30、40、50、60、70、80、90 时,函数返回的人数应该是 4, below 所指的数组中的数据应为 10、 20、 30、 40。注意:部分源程序保存在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入编写的若干语句。给定源程序如下。(分数:40.00)_正确答案:()解析:要计算低于平均分的人数,首先应该求出平均分,然后通过 for 循环语句和 if 条件语句找出低于平均分的分数。该题第 1 个循环的作用是求出平均分 av,第 2 个循环的作用是找出低于平均分的成绩 记录并存入 below 数组中。