国家二级C语言程序设计机试(程序修改题)模拟试卷3.docx

上传人:太** 文档编号:86519854 上传时间:2023-04-14 格式:DOCX 页数:2 大小:12.76KB
返回 下载 相关 举报
国家二级C语言程序设计机试(程序修改题)模拟试卷3.docx_第1页
第1页 / 共2页
国家二级C语言程序设计机试(程序修改题)模拟试卷3.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《国家二级C语言程序设计机试(程序修改题)模拟试卷3.docx》由会员分享,可在线阅读,更多相关《国家二级C语言程序设计机试(程序修改题)模拟试卷3.docx(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、国家二级C语言程序设计机试(程序修改题)模拟试卷3(总分:8. 00,做题时间:90分钟)一、程序修改题(总题数:4,分数:8. 00)L下列给定程序中,函数fun的功能是:读入一个字符串(长度20),将该字符串中的所有字符按ASCH 码值升序排序后输出。例如,若输入“edcba,则应输出“abode”。请改正程序中的错误,使它能得 出正确的结果注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序: #include#includevoid fun(ehar t) char c; int i, j; / *foirnd* / for (i=strlen(t) ; i; i

2、) for (j=0; ji; j+) / *f()und* /if (tj0; i)解析:解析:(1)本题是利用选择法对数组元素进行比较排序。所谓选择法,是依次用当前取得的元素和 其后面的元素进行比较,在第一个元素和其后面的元素顺次比较时,可以借助中间变量来对两个数进行交 换,要保证第一个元素始终存放数组中的最大数,以后依次挑选出次大数,这样最终的数组就是有序的。 strlen函数所求得的字符串长度包括字符串结束符,所以要减1。 (2)这里是一个分析逻辑错误,题中要 求按升序排序,所以应改为.下列给定程序中,函数fun的功能是:删除指针P所指字符串中的所有空白字符(包括制表符、回车符 及换行

3、符)。输入字符串时用结束输入。请改正程序中的错误,使它能输出正确的结果。注意:不得增 行或删行,也不得更改程序的结构!试题程序:#include#includettincludefun(char*P) int i, t; char c80; / *founcl* / For (i=0, t=0; Pi ; i+) if (! isspace(* (P+i) ct+=Pi ; / *fourid* / ct=0 ; strepy (p, c); main() char c, s80; int i=0; prinff( Input a string: ); c=getchar(); while(c

4、!=) si=c; i+; c=getehar() ; 8i= 0 ; fun(s) ; puts(s) ; (分数:2.00) 正确答案:(正确答案:(l)for(i=0, t=0; pi; i+)c田八O;)解析:解析:本题考查:c语言关键字;字符串结束标识0。该题目考查C语言关键字的书写,C语 言中关键字是区分大小写的。另外为字符串结尾添加结束符时应书写为0,而非“ 0,0表示 一个字符串。该程序的if条件中应用了 isspace函数,该函数的功能是检查ch是否空格、跳格符(制表 符)或换行符。2 .下列给定程序中,函数fun的功能是:将m(lWmW10)个字符串连接起来,组成一个新串,

5、放入pt所 指存储区中。例如:把三个串“abe” “CD” “EF”连接起来,结果是 abc-CDEF”。请改正程序中的错 误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试 题程序:#include#includevoid fun (char str 10, int m, char*pt) / *founcl* / Int k, q, i; for (k=0; km; k+) q=strlen(strk) ; for (i=0; iq; i+) / *foiind* / pti=strk, i ; pt+=q; pt 0=0; main() int

6、 m, h; char s10 10, P120 ; parintf ( u nPlease enter m: ) ; seanf( “d”,&m) ; gets(sro); printf ( nPlease entd string: n,m); for(h=0; hm; h+) gets(sh) ; fun(s, m, P) ; prinff ( nThe result is: %sn,P); (分数:2. 00)正确答案:(正确答案:(l)int k, q, i; (2)pti=strk i;)解析:解析:本题考查:C语言的书写和语法性错误,这类错误比较简单,只要编译程序,根据错误提示 修

7、改即可。(1)关键字书写错误,定义整型变量的关键字应使用int,而非Int。 (2)数组元素表示错 误,表示二维数组元素,应使用方括号将行坐标和列坐标分别括起来,即strk, i应改为strki 4.下列给定程序中,函数fun的功能是:依次取出字符串中所有的数字字符,形成新的字符串,并取代原 字符串。请改正函数fun中的错误,使它能得出正确的结果。注意:不得增行或删行,也不得更改程序 的结构!试题程序:#include#include#includevoid fun (charts) int i, j; for (i=0, j=0; si 1= 0 ; i+) if (si = O= 9 )

8、/*found* / sj=si ; / *found* / sj二 “0 ; void main() char item80; system( CLS”); prinff( u nEnter a string: ) ; gets(item); prinff( u nThe string is: %sn , item) ; fun (item) ; printf ( u nThe string of changing is: %sn” , item); (分数:2. 00)正确答案:(正确答案:(l)sj+=si;(2)sj=, 0J ;)解析:解析:题目要求依次取出字符串中所有的数字字符,因此将元素si存入sj后要使j加1,为 下次存储做准备。sj=O ;是一个语法错误。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁