1、国家二级(C 语言)机试-试卷 90 及答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_2.给定程序中已建立一个带有头结点的单向链表,在 main 函数中将多次调用 fun 函数,每调用一次 fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构! (分数:2.00)_二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.0
2、0)_4.给定程序 MODllc 中函数 fun 的功能是;由形参给定 n 个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。例如,n=8 时,输入:193199,195673,195757,196051,196092,196596,196579,196763 所得平均值为:195838745,在平均值以上的实数个数应为:5 请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! (分数:2.00)_三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_6.请编写函数 fun,其功能是:计算并
3、输出给定数组(长度为 9)中每相邻两个元素之平均值的平方根之和。例如,给定数组中的 9 个元素依次为120、340、40、230、340、450、180、30、110,输出应为:s=35951014。注意:部分源程序在文件 PROGlC 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_国家二级(C 语言)机试-试卷 90 答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_解析:2.给定程序中已建立一个带有头结点的单向链表,在 main
4、函数中将多次调用 fun 函数,每调用一次 fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)next (2)t-data (3)t)解析:解析:fun 函数的功能是输出链表尾部结点中的数据,并释放该结点,使链表缩短。由于链表是单向的,找到链表尾部结点需要利用循环从头结点开始查找,直至找到最后一个,找到之后输出尾部结点的数据,然后删除尾结点。二、程序修改题(总题数:2,分
5、数:4.00)3.程序修改题()(分数:2.00)_解析:4.给定程序 MODllc 中函数 fun 的功能是;由形参给定 n 个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。例如,n=8 时,输入:193199,195673,195757,196051,196092,196596,196579,196763 所得平均值为:195838745,在平均值以上的实数个数应为:5 请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)int j-c0;double xa00;
6、 (2)if (xj=xa)解析:解析:本题中函数的功能是输出平均值,并统计在平均值以上(含平均值)的实数个数。本题中的函数实现过程首先求解平均值,然后将所有值与平均值进行比较,统计高于平均值的实数个数。三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_解析:6.请编写函数 fun,其功能是:计算并输出给定数组(长度为 9)中每相邻两个元素之平均值的平方根之和。例如,给定数组中的 9 个元素依次为120、340、40、230、340、450、180、30、110,输出应为:s=35951014。注意:部分源程序在文件 PROGlC 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_正确答案:(正确答案: )解析:解析: 该程序功能是计算并输出给定数组(长度为 9)中每相邻两个元素之平均值的平方根之和。在循环中,首先确定相邻元素之间的关系,然后对其进行平均值平方根之和的操作。