1、国家二级(C 语言)机试-试卷 9-1 及答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_2.给定程序中,函数 fun 的功能是:将形参 n 中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。例如,从主函数输入一个整数:27638496,函数返回值为:26846。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构! (分数:2.00)_二、程序修改题(总题数:2,分
2、数:4.00)3.程序修改题()(分数:2.00)_4.给定程序 MODllC 中函数。fun 的功能是:从 3 个红球,5 个白球,6 个黑球中任意取出 8 个作为一组,进行输出。在每组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是 15。程序中 i 的值代表红球数,j 的值代表白球数,k 的值代表黑球数。请改正函数 fun 中指定部位的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!(分数:2.00)_三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_6.请编写函数 fun,
3、函数的功能是:统计各年龄段的人数。N 个年龄通过调用随机函数获得,并放在主函数的 age 数组中;要求函数把 O 至 9 岁年龄段的人数放在 d0中,把 10 至 19 岁年龄段的人数放在 d1,把 20 至 29 岁年龄段的人数放在 d2中,其余依此类推,把 100 岁(含 100)以上年龄的人数都放在 d10中。结果在主函数中输出。注意:部分源程序在文件 PROGlC 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_国家二级(C 语言)机试-试卷 9-1 答案解析(总分:12.00,做题时间:90 分钟)一、程序
4、填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_解析:2.给定程序中,函数 fun 的功能是:将形参 n 中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。例如,从主函数输入一个整数:27638496,函数返回值为:26846。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)1 (2)s (3)i*10)解析:解析:本题中函数 fun 的功能是将形参 n 中,各位上为偶
5、数的数取出,并按原来从高位到低位的顺序组成一个新的数,n10 可求得 n 的个位数,如果将 n 缩小 10 倍再次 n10 就得到了 n 的十位数,依此类推变可得到 n 的百位、千位。二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_解析:4.给定程序 MODllC 中函数。fun 的功能是:从 3 个红球,5 个白球,6 个黑球中任意取出 8 个作为一组,进行输出。在每组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是 15。程序中 i 的值代表红球数,j 的值代表白球数,k 的值代表黑球数。请改正函数 fun 中指定部位的错误
6、,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!(分数:2.00)_正确答案:(正确答案:(1)for(i1;i3; i+) (2)if(k0k6)解析:解析:本题中函数的功能是从 3 个红球、4 个白球、5 个黑球中任意取出 8 个作为一组,进行输出。在每组中,可以没有黑球,但必须要有红球和白球。其实就是实现这三种球的组合取值。三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_解析:6.请编写函数 fun,函数的功能是:统计各年龄段的人数。N 个年龄通过调用随机函数获得,并放在主函数的 age 数组中;要求函数把 O 至 9 岁年龄段的人数放在 d0中,把 10 至 19 岁年龄段的人数放在 d1,把 20 至 29 岁年龄段的人数放在 d2中,其余依此类推,把 100 岁(含 100)以上年龄的人数都放在 d10中。结果在主函数中输出。注意:部分源程序在文件 PROGlC 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_正确答案:(正确答案: )解析:解析:该程序功能是统计各年龄段的人数。本题中采用的是多 if 选择语句,实现了不同年龄段的分支选择。