[计算机类试卷]国家二级C++机试(操作题)模拟试卷160及答案与解析.doc

上传人:roleaisle130 文档编号:497222 上传时间:2018-11-28 格式:DOC 页数:5 大小:29.50KB
下载 相关 举报
[计算机类试卷]国家二级C++机试(操作题)模拟试卷160及答案与解析.doc_第1页
第1页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷160及答案与解析.doc_第2页
第2页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷160及答案与解析.doc_第3页
第3页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷160及答案与解析.doc_第4页
第4页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷160及答案与解析.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

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码值为偶数的字符并依次存入数组。

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

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

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