[计算机类试卷]国家二级C语言程序设计机试(程序修改题)模拟试卷1及答案与解析.doc

上传人:fatcommittee260 文档编号:498907 上传时间:2018-11-29 格式:DOC 页数:6 大小:31KB
下载 相关 举报
[计算机类试卷]国家二级C语言程序设计机试(程序修改题)模拟试卷1及答案与解析.doc_第1页
第1页 / 共6页
[计算机类试卷]国家二级C语言程序设计机试(程序修改题)模拟试卷1及答案与解析.doc_第2页
第2页 / 共6页
[计算机类试卷]国家二级C语言程序设计机试(程序修改题)模拟试卷1及答案与解析.doc_第3页
第3页 / 共6页
[计算机类试卷]国家二级C语言程序设计机试(程序修改题)模拟试卷1及答案与解析.doc_第4页
第4页 / 共6页
[计算机类试卷]国家二级C语言程序设计机试(程序修改题)模拟试卷1及答案与解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、国家二级 C语言程序设计机试(程序修改题)模拟试卷 1及答案与解析 一、程序修改题 1 下列给定程序中,规定输入的字符串全部为字母, fun函数的功能是:统计 a所指字符串中每个字母在字符串中出现的次数 (统计时不区分大小写 ),并将出现次数最多的字母输出 (如果有多个相同,输出一个即可 )。 例如对于字符串 ”dadbcdbabdb”,对应的输出应为 b或 d。 请改正函数 fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: #include #include #inchde void fun(char a) i

2、nt b26, i, n, max; for(i=0; i=a&ai=A&aibi) max=i: printf(“出现次数最多的字符是: c”, max+a); main() char a200; prinff(“请输入一个待统计的字符串: ”); scanf(“ s”, a); fun(a); 2 在主函数中用键盘输 入若干个数放入数组中,用 0结束输入并放在最后一个元素中。下列给定程序中,函数 fun的功能是:计算数组元素中所有值为正数的平均值(不包括 0)。 例如,数组中元素中的值依次为: 39,一 47, 21, 2,一 8, 15, 0,则程序的运行结果为 19 250000。 请

3、改正程序中的错误,使它能得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构 ! 试题程序: #include Itouble fun(int x) *found* int sum=0 0: int c=0, i=0; while(xi!=0) if(xi0) sum+=Xi; c+; i+; *found* sum =c; return sum; main() int x1000; int i=0; prinff(“ nPlease enter florae data(end with 0): “); do scanf(” d”, xi); while(xi+!=0); printf

4、(“ f n”, fun(x); 3 下列给定程序中,函数 fun的功能是:找出一个大于给定整数 m且紧随 m的素数,并作为函数值返回。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: #include #include #include int fun(int m) int i, k; for(i=m+1; i+) for(k=2; k void fun(10ng s, long *t) int d: long s1=1; *!=0: while (s 0) d=s 10: *round* if=d 2=0) j

5、 *t=d*s1+*t: sj*=10: *found* s =10: main() long s t; prinff(“ nPlease enter S: ”); scanf(“ ld”, &s); fun(s, &t); prinff(“The result is: ld n”, t); 国家二级 C语言程序设计机试(程序修改题)模拟 试卷 1答案与解析 一、程序修改题 1 【正确答案】 (1)bi=0; (2)bai一 a+; (3)if(bmaxbi) 【试题解析】 要统计字符串中每个字符在这个字符串中出现的次数,可以设数组b中存放每个字符出现的次数, b0存放字符 a的次数, b1存

6、放字符 b的次数 统计之前为数组 b各元素赋初值为 0。然后依次取出字符串的每个字符进行判断,使对应数组 b加 1。 max初始值为 0,与数组 b中的每个元素进行比较,如果小于,就把下标进行交换。 (1)数组 a存放的是 字符串,数组 b为整型数组,存放的是每个字符的个数,应将数组 b每个元素初始化为 0。 (2)小写字母的 ASC 码值减去 a的 ASC 码值即为相应字母的下标值,相应下标值的数组元素的值增加 1。 (3)最大值小于被比较数时,把被比较数的下标值赋给 max, max中存放的总是当前最大值。 2 【正确答案】 (1)double sum=0 0; (2)sum =c; 【试

7、题解析】 本题考查:变量的数据类型,区别 int整型和 double双精度型;除法运算符 “ ”。 (1)变量定义错误,变量 sum存放所有数据的和,应 定义为 double型。 (2)C语言中的除法运算符是 “ ”。 3 【正确答案】 (1)if(i k=0) (2)if(k=i) 【试题解析】 (1)判断当前数是否为素数,若存在一个数 (除 1和其自身 )能整除当前数,则跳出本次循环,所以 if条件应为 i k=0。 (2)如果 i是素数,则循环结束时 k=i,将该值返回。 4 【正确答案】 (1)if(d 2=0) (2)s =10; 【试题解析】 本题考查: if语句条件表达式,注意 “=”和 “=”的区别;除法运算符 “ ”。 (1)分析程序 ,在 if的条件表达式中,不应该出现赋值运算符 “=”,应使用 “=”运算符。 (2)这里是一个运算符的错误,表示除法的运算符是 “ ”。

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

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

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