1、国家二级(C 语言)机试-试卷 25-2 及答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_2.函数 fun 的功能是:从三个形参 a,b,c 中找出中间的那个数,作为函数值返回。例如,当a3,b5,c4 时,中数为 4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构!(分数:2.00)_二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_4.给定程序 MODllC 中
2、函数 fun 的功能是:根据形参 m 的值(2m9),在 m 行 m 列的二维数组中存放如下所示规律的数据,由 main 函数输出。例如,若输入 2 若输入 4 则输出: 则输出: 1 2 1 2 3 4 2 4 2 4 6 8 3 6 9 12 4 8 12 16 请改正程序函数中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! (分数:2.00)_三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_6.学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功
3、能是:把分数最低的学生数据放在 b 所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。 注意:部分源程序在文件 PROGlC 文件中。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_国家二级(C 语言)机试-试卷 25-2 答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_解析:2.函数 fun 的功能是:从三个形参 a,b,c 中找出中间的那个数,作为函数值返回。例如,当a3,b5,c4 时,中数为 4。请在
4、程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构!(分数:2.00)_正确答案:(正确答案:(1)a (2)a (3)b)解析:解析:本题中 fun 函数的功能是求得三个数中间的数,从 fun 函数给出的部分来看,fun 函数是采用条件运算符来求中间值。二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_解析:4.给定程序 MODllC 中函数 fun 的功能是:根据形参 m 的值(2m9),在 m 行 m 列的二维数组中存放如下所示规律的数据,由 main
5、 函数输出。例如,若输入 2 若输入 4 则输出: 则输出: 1 2 1 2 3 4 2 4 2 4 6 8 3 6 9 12 4 8 12 16 请改正程序函数中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)void fun(int aM, int m)(2)ajk=(k+1)*(j+1);)解析:解析:本题中函数的功能是根据形参 m 的值(2m9),在 m 行 m 列的二维数组中存放有规律的数据,规律就是,i 和 j 代表二维数组的行和列,则 a 啪k(k1)*(j1)。三、程序设计题
6、(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_解析:6.学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是:把分数最低的学生数据放在 b 所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。 注意:部分源程序在文件 PROGlC 文件中。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_正确答案:(正确答案: )解析:解析:该程序功能是把分数最低的学生数据放在 b 所指的数组中。本题是关于求解结构体中某些成员的最小值,首先将第一个值设定为最小值,并在循环中将其他所有值与该值进行比较,求得最小值。然后将最小值与所有值进行比较,求得所有的最小值。