[计算机类试卷]国家二级(C语言)机试模拟试卷248及答案与解析.doc

上传人:eastlab115 文档编号:502996 上传时间:2018-11-29 格式:DOC 页数:6 大小:30.50KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)机试模拟试卷248及答案与解析.doc_第1页
第1页 / 共6页
[计算机类试卷]国家二级(C语言)机试模拟试卷248及答案与解析.doc_第2页
第2页 / 共6页
[计算机类试卷]国家二级(C语言)机试模拟试卷248及答案与解析.doc_第3页
第3页 / 共6页
[计算机类试卷]国家二级(C语言)机试模拟试卷248及答案与解析.doc_第4页
第4页 / 共6页
[计算机类试卷]国家二级(C语言)机试模拟试卷248及答案与解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、国家二级( C语言)机试模拟试卷 248及答案与解析 一、程序填空题( 30分) 1 函数 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所指数组中数据的个数。 注意:规定 fun函数中的 max存放当前所找的最大值, px存放当前所找最大值的

2、下标。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! # 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 != i+1) t = ai+1; ai+1 = max; apx

3、 = t; main() int bN=9,1,4,2,3,6,5,8,7, i; printf(“nThe original data :n“); for (i=0; i double fun(int n) double result=1 0; *found* if n=0 reLurn 1 0; while(n1 px=pn=i;”可知, px和 pn初始化为 i, max和 min初始化为 ai,假定第一个元素为最大值、最小值,然后逐个和其他的元素比较找出最大值和最小值,因此第一空应为 “ai”。 第二空:根据 “max=aj; px=j;”可知, max保存了 aj的值,说明 max比

4、元素 aj小,故第二空处应为 “aj”。 第三空:根据 “min=aj; pn=j;”可知, min保存了 aj的值,说明 min比元素 aj大,故第三空处应为 “aj”。 二、程序修改题( 30分) 2 【正确答案】 (1)if (n=0) (2)result*=n一一; 【试题解析】 (1)错误标识符下的 if语句的条件表达式,根据 C语言的基本语法条件,表达式应该用括号括起来,所以将 “ifn=0“改为 “if(n=0)“。 (2)在 C语言中,语句以分号 “; “结束,在第二标识下 “result*=n-“没有分号结束符,显然应改成 “result*=n-; “。 三、程序设计题( 4

5、0分) 3 【正确答案】 int 1; *max=a0; *d=0; *把数组的第 1个元 素值赋值给最大值变量 *max* for(i=1; in; i+) if(*maxai) *判断 *max是否小 于当前值 * *max=ai; *重新把最大值赋值给 *max*/ *d=i; *记住下标 * 【试题解析】 进入 fun函数,根据前面的分析: (1)*max指针变量首先指向数组 a的第一个数据,同时将标志位 *d初始值赋为0。 (2)然后利用 for循环对每一个当前数组数据与 max标记的数据进行比较。 (3)循环中将求得的最大数据 ai赋值给 *msx,并将该数据项数组标志位赋给标志位 *d。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1