1、国家二级(C 语言)机试-试卷 41 及答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_2.函数 fun 的功能是:把形参 a 所指数组中的最小值放在元素 a0中,接着把形参 a 所指数组中的最大值放在 a1元素中;再把 a 所指数组元素中的次小值放在 a2中,把 a 所指数组元素中的次大值放在a3;其余以此类推。例如:若 a 所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7:则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。形参 n 中存放 a 所指数组中数据的个数。 注意:规定
2、fun 函数中的 max 存放当前所找的最大值,px 存放当前所找最大值的下标。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANKlC 中。 不得增行或删行,也不得更改程序的结构! # include #define N 9 void fun(int a, int n) int i,j, max, min, px, pn, t; for (i=0; i【3】) min = aj; pn = j; if (pn != i) t = ai; ai = min; apn = t; if (px = i) px =pn; if (px
3、!= i+1) t = ai+1; ai+1 = max; apx = t; main() int bN=9,1,4,2,3,6,5,8,7, i; printf(“/nThe original data :/n“); for (i=0; i_二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_4.给定程序 MODllC 的功能是:读入一个整数 k(2k10000),打印它的所有质因子(即所有为素数的因子)。 例如,若输入整数:2310,则应输出:2、3、5、7、11。 请改正程序中的语法错误,使程序能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include /*found*/ IsPrime(int n); /*定义函数*/ int i, m; m = 1; for (i = 2; i = l&ai.s=h)”逐个判断学生结构体中的成绩元素是否满足题目中的范围。 (2)将符合条件的结果存入指定数组,并对统计变量进行加 1 操作。