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

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

1、国家二级 C+机试(操作题)模拟试卷 168及答案与解析 一、基本操作题 1 给定程序中,函数 fun的功能是建立一个 NN的矩阵。矩阵元素的构成规律是:最外层元素的值全部为 1;从外向内第 2层元素的值全部为 2;第 3层元素的值全部为 3, 依此类推。例如,若 N=5,生成的矩阵为: 1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 1 1 1 1 1 请在程序的中括号处填入正确的内容并把中括号删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #include #define N

2、7 *found* void fun(int(*a)【 1】 ) int i, j, k, m; if(N 2=0)m=N 2; else m=N 2+1; for(i=0; i #include void fun( char *a, char *b, char *c) int i, j; char ch; i=0; j=strlen(b)一 1; *found* while(ij) ch=bi; bi=bj; bj=ch; i+; j-; while(*a*b) *found* If( *a) *c= *a ; c+; a+; if(*b) *c= *b; c+; b+; *c=0; mai

3、n() char s1100, s2100, t200; printf(“ nEnter s1 string: “); scanf(“ s“, s1); printf(“ nEnter s2 string: “); scanf(“ s“, s2); fun(s1, s2, t); printf(“ nThe result; is: s n“, t); 三、综合应用题 3 规定输入的字符串中只包含字母和 *号。请编写函数 fun,其功能是:使字符串的前导,一 c号不得多于 n个,若多于 n个,则删除多余的木号;若少于或等于 n个,则不做处理。字符串中间和尾部的水号不删除。 例如,字符串中的内容为

4、 “*A*BC*DEF*G*”,若 n的值为 4,删除后,字符串中的内容应当是 “*A*BC*DEF*G*”;若 n的值为 8,则字符串中的内容仍为 “*A*BC*DEF*G*”。 n的值在主函数中输入。在编写函数时,不得使用 C语言提供的字符串函数。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容。仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: #include #include void fun(char*a, int n) void main() char s81; int n; printf(“Enter a string: n“); (jet

5、s(s); printf(“Enter n: “); scarlf(“ d“, &n); fun(s, n); printf(“The string after deleted: n“); puts(s); 国家二级 C+机试(操作题)模拟试卷 168答案与解析 一、基本操作题 1 【正确答案】 (1)N (2)i (3)i+1 【试题解析】 填空 1:本题考查了形参的确定。参数传递时将实参的值赋给形参,实参和形参是一一对应的,因此该空应该填写 N。 填空 2:第二重 for循环中 aij和 aN i一 1j表示 第一行和最后一行数组aNN的值,因而此空应该填写 i。 填空 3:第三重 for循环代表的是 aNN中每一列的值,因此此空应该填写i+l。 二、简单应用题 2 【正确答案】 (1)while(in) *如果 k大于 n,则使 p的前部保留 n个星号,其后的字符依次存入数组 a中 * while(*p) ai=*(p+kn); i+; p+; ai= 0; *在字符串最后加上结束标识 * 【试题解析】 字符串中前导 *号不能多于 n个,多余的应删除。首先需要通过while循环统计字符串前导 *号的个数,然后通过 if条件语句完成前导 *号的个数和n的比较,如果前导 *号多于 n个,需要把 n个 *号和其余字符重新保留。

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

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

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