【计算机类职业资格】二级C语言机试58及答案解析.doc
《【计算机类职业资格】二级C语言机试58及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言机试58及答案解析.doc(3页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言机试 58 及答案解析(总分:100.00,做题时间:90 分钟)一、B填空题/B(总题数:1,分数:30.00)1.请补充函数 fun(),该函数的功能是按条件删除一个字符串指定字符一半的数目,具体要求如下:如果该字符串所包含的指定字符的个数是奇数,则不予删除,如果其数目是偶数,则删除原串后半部分的指定字符。其中,a 指向原字符串,删除后的字符串存放在 b 所指的数组中,c 中存放指定的字符。 例如:当a 输入“abababa”,ca时,b 的输出为“ababb”; 如果 a 的输入为“ababa”,则 b 的输出为“ababa”。 注意:部分源程序给出如下。 请勿改动主函数
2、main 和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #includestdioh #includeconioh #define LEN 80 void fun(char a,char b,char C) int i=0,j=0; int n=0; int m=0; while(ai!=/0) if(ai=c) n+; i+; U【1】 /U; if(n%2) while(aj!=/0) bj=aj; j+; bj=/0; else while(ai!=/0) bj+=ai; if(ai=c) m+; if(mn/2) if(n%2) whil
3、e(aj!=/0) bj=aj; j+; bj=/0; else while(ai!=/0) bj+=ai; if(ai=c) m+; if(mn/2)&(ai=c) U 【2】 /U; i+; U 【3】 /U; main() char aLEN,bLEN; char c; clrscr(); printf(“Enter the string:/n“); gets(a); printf(“Enter the character of the string deleted:“); scanf(“%c“,&c); fun(a,b,c); printf(“The new string is:%s/
4、n“,b); (分数:30.00)填空项 1:_ (正确答案:1 i=0 2 j- 3 bj=/0)解析:解析 填空 1:执行完 while 循环后,变量 i 的值为数组 a中元素的个数,而后面的 while 循环中通过变量 i 访问数组 a的各元素,所以,在这里需要对变量 i 清零。填空 2:当找到原字符串中后半部分的指定字符时,这个字符不应该存入数组 b 中,所以要将数组 b 的下标减 l,让下一个非指定宁符去覆盖它。填空 3:按条件删除后的字符串存于数组 b 后,还要在数组 b 的最后加上字符串结束标记符/0。二、B改错题/B(总题数:1,分数:30.00)2.下列给定程序中,函数 fu
5、n()的功能是:将 m(1m10)个字符串反着连接起来,组成一个新串,放入pt 所指字符串中,例如:把 3 个串 DEG,ac,df 反着串联起来,结果是 dfacDEG。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main()函数,不得增行或者删行,也不得改变程序的结构! 试题程序: #include conioh #include stringh #include stdioh void fun(char str10,int m,char *pt) int k,q,i,j=0; /*found*/ for(k=m;k0;k-) q=strlen(strk); j+=q;
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 58 答案 解析 DOC
