1、国家二级(C 语言)机试-试卷 11-2 及答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_2.甲乙丙丁四人同时开始放鞭炮,甲每隔 t1 秒放一次,乙每隔 t2 秒放一次,丙每隔 t3 秒放一次,丁每隔 t4 秒放一次,每人各放 n 次。函数 fun 的功能是根据形参提供的值,求出总共听到多少次鞭炮声作为函数值返回。注意,当几个鞭炮同时炸响,只算一次响声,第一次响声是在第 0 秒。例如,若t17,t2=5,t3=6,t4=4,n=10,则总共可听到 28 次鞭炮声。请在程序的下划线处填入正确的内容并把下划线删除
2、,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构! (分数:2.00)_二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_4.给定程序 MODIIC 中函数 fun 的功能是:将长整型数 s 中每一位上为偶数的数依次取出,构成一个新数放在 t 中。高位仍在高位,低位仍在低位。例如,当 s 中的数为:87653142 时,t 中的数为:8642。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! (分数:2.00)_三、程序设计题(总题数
3、:2,分数:4.00)5.程序设计题()(分数:2.00)_6.学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是:把高于等于平均分的学生数据放在 b 所指的数组中,高于等于平均分的学生人数通过形参 n传回,平均分通过函数值返回。注意:部分源程序在文件 PROGlC 文件中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_国家二级(C 语言)机试-试卷 11-2 答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程
4、序填空题()(分数:2.00)_解析:2.甲乙丙丁四人同时开始放鞭炮,甲每隔 t1 秒放一次,乙每隔 t2 秒放一次,丙每隔 t3 秒放一次,丁每隔 t4 秒放一次,每人各放 n 次。函数 fun 的功能是根据形参提供的值,求出总共听到多少次鞭炮声作为函数值返回。注意,当几个鞭炮同时炸响,只算一次响声,第一次响声是在第 0 秒。例如,若t17,t2=5,t3=6,t4=4,n=10,则总共可听到 28 次鞭炮声。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构! (分数:2.00)_
5、正确答案:(正确答案:(1)i (2)t+ (3)count)解析:解析:函数劬的功能是根据形参提供的值求出总共听到多少次鞭炮声,胁函数的参数是每个人放鞭炮的间隔时间和燃放次数。甲乙丙丁四人同时开始放鞭炮,由于间隔不同在某些时刻几个人会同时燃放,这种情况只算一次响声,因此需要考虑同时燃放的次数。二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_解析:4.给定程序 MODIIC 中函数 fun 的功能是:将长整型数 s 中每一位上为偶数的数依次取出,构成一个新数放在 t 中。高位仍在高位,低位仍在低位。例如,当 s 中的数为:87653142 时,t 中的数为:8
6、642。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)if(d20) (2)s10;)解析:解析:本题中函数的功能是将长整型数 s 中每一位上为偶数的数依次取出,构成一个新数放在 t 中。首先在函数中对长整型数的每一位来进行截取,然后对其进行判断,最后根据判断结果进行操作。三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_解析:6.学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是:把高于等于平均分的学生数据放在 b 所指的数组中,高于等于平均分的学生人数通过形参 n传回,平均分通过函数值返回。注意:部分源程序在文件 PROGlC 文件中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_正确答案:(正确答案: )解析:解析:该程序功能是把高于或等于平均分的学生数据放在 b 所指的数组中,高于等于平均分的学生人数通过形参 n 传回,平均分通过函数返回值返回。解题过程首先求得平均分,然后将所有成绩与平均分进行比较,如果大于或等于平均分,存入指定数组。