1、国家二级 C+机试(操作题)模拟试卷 171及答案与解析 一、基本操作题 1 函数 fun的功能是:输出 a所指数 组中的前 13个数据,要求每行输出 5个数。 请在程序的中括号处填入正确的内容并把中括号删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKl C中。不得增行或删行,也不得更改程序的结构 ! 试题程序: #include #include void fun(int*a, int n) int i; for(i=0; i #define N 50 #define M 11 void fun(int*a, int*b) double rnd() static t
2、=29, c=217, m=1024, r=0; r=(r*t+c) m; return(double)r m); void main() FILE*wf; int ageN, i, dM; int bN=32, 4 5, 15, 12, 86, 49, 97, 3, 44, 52, 17, 95, 63; for(i=0; i=100) b10+; *如果年龄大于等于 100, b10自增 1* else bai 10+; *如果年龄小于 100,则将其分别统计到 bai 10中 * 【试题解析】 本题是一个分段函数的问题,用两个循环来完成。第 1个循环的作用是使 b中的所有元素值都为 0。这个循环不能省略,因为若未对 b中的元素赋初值,则它们的值是不可预测的。第 2个循环的作用是分别统计 a中各年龄段的人数。当 ai100时,按题意要将其统计到 h10中。 else的作用是如果年龄小于100,则将其分别统 计到 bai 10中。由运算优先级可知先进行 ai 10的运算,所得结果作为 b的下标。若 ai为 0 9时, ai 10的值为 0,且 0 9岁的人数正好要存入 b0中。若 ai为 10 19时, ai 10的值为 1,且 10 19岁的人数正好要存入 b1中,依此类推。