1、国家二级(C 语言)机试-试卷 50 及答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_2.给定程序中,函数 fun 的功能是:将形参 n 所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针 n 传回所指变量。例如,输入一个数:27638496,新的数:为 739。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构! (分数:2.00)_二、程序修改题(总题
2、数:2,分数:4.00)3.程序修改题()(分数:2.00)_4.给定程序 MODllC 中函数 fun 的功能是;从低位开始取出长整型变量 s 中偶数位上的数,依次构成一个新数放在 t 中。高位仍在高位,低位仍在低位。例如,当 s 中的数为:7654321 时,t 中的数为:642。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! (分数:2.00)_三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_6.函数 fun 的功能是:将 a、b 中的两个两位正整数合并形成一个新的整数放在 c 中。合
3、并的方式是:将a 中的十位和个位数依次放在变量 c 的千位和十位上,b 中的十位和个位数依次放在变量 c 的个位和百位上。例如,当 a=45,b=12。调用该函数后,c=4251。注意:部分源程序存在文件 PROGlC 中。数据文件INDAT 中的数据不得修改。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_国家二级(C 语言)机试-试卷 50 答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_解析:2.给定程序中,函数 fun 的功能是:
4、将形参 n 所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针 n 传回所指变量。例如,输入一个数:27638496,新的数:为 739。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)10 (2)0 (3)x)解析:解析:本题中函数 fun 的功能是将形参 n 所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数。相当于首先求出 n 的各位数,判断是否是奇数
5、,如果是奇数将其按照原来从高位到低位的顺序组成一个新的数。二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_解析:4.给定程序 MODllC 中函数 fun 的功能是;从低位开始取出长整型变量 s 中偶数位上的数,依次构成一个新数放在 t 中。高位仍在高位,低位仍在低位。例如,当 s 中的数为:7654321 时,t 中的数为:642。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)void fun(10ng s, long *t) (2)whi
6、le(s0)解析:解析:该题中函数功能是取出长整型变量 s 中偶数位上的数,组成新数。从已给定源程序的 main主函数开始入手,“fun(s,t);”语句调用函数 fun 来实现题目要求。三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_解析:6.函数 fun 的功能是:将 a、b 中的两个两位正整数合并形成一个新的整数放在 c 中。合并的方式是:将a 中的十位和个位数依次放在变量 c 的千位和十位上,b 中的十位和个位数依次放在变量 c 的个位和百位上。例如,当 a=45,b=12。调用该函数后,c=4251。注意:部分源程序存在文件 PROGlC 中。数据文件INDAT 中的数据不得修改。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_正确答案:(正确答案:*c=(a10)*1000(b10)*100+(a10)*10(b10);)解析:解析:该程序功能是将正整数 a、b 合并形成一个新整数。本题类型首先要考虑整数的位数分离,然后要进行位数合成。也就是先将数字的各位数拆开,改变排列顺序后,再组合成新的数字。