[计算机类试卷]国家二级C++机试(操作题)模拟试卷160及答案与解析.doc
-
资源ID:497222
资源大小:29.50KB
全文页数:5页
- 资源格式: DOC
下载积分:2000积分
快捷下载

账号登录下载
微信登录下载
下载资源需要2000积分(如需开发票,请勿充值!)
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
[计算机类试卷]国家二级C++机试(操作题)模拟试卷160及答案与解析.doc
1、国家二级 C+机试(操作题)模拟试卷 160及答案与解析 一、基本操作题 1 下列给定程序中,函数 fun的功能是:将形参 S所指字符串中下标为奇数的字符按 ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参 P所指字符数组中,形成一个新串。 例如,形参 s所指的字符为 “baawrskjghzlicda”,执行后 P所指字符数组中的字符串应为 “aachjlsw”。 请在程序的中括号处填入正确的内容并将中括号删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得 增行或删行,也不得更改程序的结构 ! 试题程序: #include void fun(char*s, ch
2、ar*p) int i, j, n, x, t; n=0; for(i=0; si!= 0; i+)n+; for(i=1; isj)t=j; if(t!=1) x=si; si=st; st=x; ) for(i=1, j=0; i #include #include void fun(char*s) 2nt i, j; for(i=0, j=0; si!= 0; i+) if(si=O&si #include #include void fun(char*s, char t) main() char s100, t100, Msg =“Please enter string s: “; p
3、rintf(Msg); Scanf(“ s“, s); fun(s, t); printf(“ nThe resuit is: S n“, t); 国家二级 C+机试(操作题)模拟试卷 160答案与解析 一、基本操作题 1 【正确答案】 (1)t=i (2)i或 t (3) 0或 0 【试题解析】 本题中 第 1个 for循环的作用是得到字符串的长度,第 2个 for循环的作用是对下标为奇数的字符按 ASCII码大小排序,最后将排好序的字符取出。 填空 1:取出字符串中下标为奇数的字符,所以将下标 i赋值给中间变量 t。 填空 2:此处 for循环语句的作用是实现对下标为奇数的元素进行排序操作
4、,所以循环变量初值应填入 i或 t;。 填空 3:将下标为奇数的字符取出后,存入 p所指的数组中,最后不要忘记在数组最后加入字符串结束标识 0。 二、简单应用题 2 【正确答案】 (1)sj+=si; (2)sj= 0; 【试题解析】 题目要求依次取出字符串中所有的数字字符,因此将元素 si存入sj后要使 j加 1,为下次存储做准备。 sj=“ 0“;是一个语法错误。 三、综合应用题 3 【正确答案】 void fun(char*s, char t) int i, j=0, n; n=strlen(s); *遍历整个数组 * for(i=0; in; i+) *如果元素的 ASCII码值为偶数 * if(si 2=0) *将元素保存到 t中 * tj=si; j+; tj= 0; 【试题解析】 要删除 ASCII码值为奇数的字符,也就是要保留 ASCII码值为偶数的字符,由于最终是要求出剩余字符形成的新串,所以本题的算法是对原字符串从头到尾扫描,找出 ASCII码值为偶数的字符并依次存入数组。