1、国家二级(C 语言)机试-试卷 88 及答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_2.给定程序中,函数 fun 的功能是:计算形参 x 所指数组中 N 个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参 y 所指数组中,在主函数中输出。例如,有 10 个正数:46 30 32 40 6 17 45 1548 26,平均值为:30500000 主函数中输出:46 32 40 45 48 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生
2、文件夹下的BLANKlC 中。 不得增行或删行,也不得更改程序的结构! (分数:2.00)_二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_4.已知一个数列从第 0 项开始的前三项分别为 0,0,1,以后的各项都是其相邻的前三项之和。给定程序MODllC 中函数 fun 的功能是:计算并输出该数列前 n 项的平方根之和。n 的值通过形参传入。例如,当n10 时,程序的输出结果应为:23197745。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! (分数:2.00)_三、程序设计题(总题数:2,
3、分数:4.00)5.程序设计题()(分数:2.00)_6.编写函数 fun,它的功能是:求小于形参 n 同时能被 3 与 7 整除的所有自然数之和的平方根,并作为函数值返回。例如若 n 为 1000 时,程序输出应为:s153909064。注意:部分源程序在文件 PROGlC 文件中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。(分数:2.00)_国家二级(C 语言)机试-试卷 88 答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_解析:2.给定程序中,函
4、数 fun 的功能是:计算形参 x 所指数组中 N 个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参 y 所指数组中,在主函数中输出。例如,有 10 个正数:46 30 32 40 6 17 45 1548 26,平均值为:30500000 主函数中输出:46 32 40 45 48 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANKlC 中。 不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)0 (2)xiN (3)j+)解析:解析:本题中函数 fun 的功能是
5、计算形参 x 所指数组中 N 个数的平均值,并将大于平均值的数放在形参 y 所指数组中。计算平均值时,逐个对数组元素进行累加,得到累加和之后除以数组元素数量便得到平均值。二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_解析:4.已知一个数列从第 0 项开始的前三项分别为 0,0,1,以后的各项都是其相邻的前三项之和。给定程序MODllC 中函数 fun 的功能是:计算并输出该数列前 n 项的平方根之和。n 的值通过形参传入。例如,当n10 时,程序的输出结果应为:23197745。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动 main 函数,不得
6、增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)double fun(int n) (2)return sum;)解析:解析:本题中函数的功能是计算并输出该数列前 n 项的平方根之和 sum。解题思路首先根据题干求得每一项的值,然后再计算数列前 n 项的平方根之和。三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_解析:6.编写函数 fun,它的功能是:求小于形参 n 同时能被 3 与 7 整除的所有自然数之和的平方根,并作为函数值返回。例如若 n 为 1000 时,程序输出应为:s153909064。注意:部分源程序在文件 PROGlC 文件中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。(分数:2.00)_正确答案:(正确答案: )解析:解析:该程序功能是求解同时能被 3 与 7 整除的所有自然数之和的平方根。解题过程,首先利用if 条件表达式“if(i30i7=0)”求能同时被 3 与 7 整除的数,然后在此基础上利用 C 语言中的 sqrt 语句求平方根。