【计算机类职业资格】全国计算机二级C语言上机试题16+2015年及答案解析.doc

上传人:cleanass300 文档编号:1329337 上传时间:2019-10-17 格式:DOC 页数:2 大小:32KB
下载 相关 举报
【计算机类职业资格】全国计算机二级C语言上机试题16+2015年及答案解析.doc_第1页
第1页 / 共2页
【计算机类职业资格】全国计算机二级C语言上机试题16+2015年及答案解析.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、全国计算机二级 C语言上机试题 16+2015年及答案解析(总分:30.00,做题时间:90 分钟)1.给定程序中,函数 fun的功能是:求出形参 ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss 所指字符串数组中共有 M个字符串,且串长。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #define M 5 #define N 20 void fun(char (*ss)N) i

2、nt i, j, n, len=0; for(i=0; i len=strlen(ssi); if(i=0) n=len; if(lenn)n=len; for(i=0; i /*found*/ n=strlen(_1_); for(j=0; j /*found*/ ssi _2_=*; /*found*/ ssin+j+ _3_=/0; main() char ssMN=“shanghai“,“guangzhou“,“beijing“,“tianjing“,“cchongqing“; int i; printf(“The original strings are :/n“); for(i=0

3、; i printf(“/n“); fun(ss); printf(“The result is :/n“); for(i=0; i (分数:10.00)_2.给定程序 MODI1.C中 fun 函数的功能是:将 p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 例如, 若输入 “I am a student to take the examination.“, 则应输出 “I aM A studenT tO takE thE examination.“。 请修改程序中的错误之处, 使它能得出正确的结果。 注意: 不要改动 main 函数, 不得删行,

4、也不得更改程序的结构! 给定源程序: #include #include void fun( char *p ) int k = 0; for( ; *p; p+ ) if( k ) /*found*/ if( p = ) k = 0; /*found*/ * (p-1) = toupper( *( p - 1 ) ) else k = 1; main() char chrstr64; int d ; printf( “/nPlease enter an English sentence within 63 letters: “); gets(chrstr); d=strlen(chrstr)

5、 ; chrstrd = ; chrstrd+1 = 0 ; printf(“/n/nBefore changing:/n %s“, chrstr); fun(chrstr); printf(“/nAfter changing:/n %s“, chrstr); (分数:10.00)_3.请编写函数 fun, 对长度为 7个字符的字符串, 除首、尾字符外,将其余 5个字符按 ASCII码降序排列。例如,原来的字符串为 CEAedca,排序后输出为 CedcEAa 。 注意: 部分源程序在文件 PROG1.C中。请勿改动主函数 main和其它函数中的任何内容, 仅在函数 fun的花括号中填入你编写

6、的若干语句。 给定源程序: #include #include #include int fun(char *s,int num) main() char s10; printf(“输入 7个字符的字符串:“); gets(s); fun(s,7); printf(“/n%s“,s); NONO(); (分数:10.00)_全国计算机二级 C语言上机试题 16+2015年答案解析(总分:30.00,做题时间:90 分钟)1.给定程序中,函数 fun的功能是:求出形参 ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss 所指字符串数组中共有 M个字符

7、串,且串长。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #define M 5 #define N 20 void fun(char (*ss)N) int i, j, n, len=0; for(i=0; i len=strlen(ssi); if(i=0) n=len; if(lenn)n=len; for(i=0; i /*found*/ n=strlen(_1_); for(j=0; j /*found*/ ssi

8、_2_=*; /*found*/ ssin+j+ _3_=/0; main() char ssMN=“shanghai“,“guangzhou“,“beijing“,“tianjing“,“cchongqing“; int i; printf(“The original strings are :/n“); for(i=0; i printf(“/n“); fun(ss); printf(“The result is :/n“); for(i=0; i (分数:10.00)_正确答案:(第一处:利用 for循环语句取当前字符串的长度,所以应填:ssi。 第二处:在字符串的右边填字符*,其开始位

9、置是 n+j,其中 n是该字符串本身的长度,j 是循环控制变量,所以应填:n+j。 第三处:字符串处理结束应置字符串结束符,其位置是 n+j+1,所以应填:1。)解析:2.给定程序 MODI1.C中 fun 函数的功能是:将 p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 例如, 若输入 “I am a student to take the examination.“, 则应输出 “I aM A studenT tO takE thE examination.“。 请修改程序中的错误之处, 使它能得出正确的结果。 注意: 不要改动 main 函数,

10、不得删行, 也不得更改程序的结构! 给定源程序: #include #include void fun( char *p ) int k = 0; for( ; *p; p+ ) if( k ) /*found*/ if( p = ) k = 0; /*found*/ * (p-1) = toupper( *( p - 1 ) ) else k = 1; main() char chrstr64; int d ; printf( “/nPlease enter an English sentence within 63 letters: “); gets(chrstr); d=strlen(c

11、hrstr) ; chrstrd = ; chrstrd+1 = 0 ; printf(“/n/nBefore changing:/n %s“, chrstr); fun(chrstr); printf(“/nAfter changing:/n %s“, chrstr); (分数:10.00)_正确答案:(第一处:关键字 int错写成 INT。 第二处:该行括号没有配对,所以只要加上一个右括号即可。)解析:3.请编写函数 fun, 对长度为 7个字符的字符串, 除首、尾字符外,将其余 5个字符按 ASCII码降序排列。例如,原来的字符串为 CEAedca,排序后输出为 CedcEAa 。 注意

12、: 部分源程序在文件 PROG1.C中。请勿改动主函数 main和其它函数中的任何内容, 仅在函数 fun的花括号中填入你编写的若干语句。 给定源程序: #include #include #include int fun(char *s,int num) main() char s10; printf(“输入 7个字符的字符串:“); gets(s); fun(s,7); printf(“/n%s“,s); NONO(); (分数:10.00)_正确答案:(int fun(char *s,int num) char ch ; int i, j ; for(i = 1 ; i 6 ; i+) for(j = i + 1 ; j 6 ; j+) if(*(s + i) *(s + j) ch = *(s + j) ; *(s + j) = *(s +i) ; *(s + i) = ch ; )解析:

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

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

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