【计算机类职业资格】二级C语言-174 (1)及答案解析.doc

上传人:ideacase155 文档编号:1324945 上传时间:2019-10-17 格式:DOC 页数:6 大小:32KB
下载 相关 举报
【计算机类职业资格】二级C语言-174 (1)及答案解析.doc_第1页
第1页 / 共6页
【计算机类职业资格】二级C语言-174 (1)及答案解析.doc_第2页
第2页 / 共6页
【计算机类职业资格】二级C语言-174 (1)及答案解析.doc_第3页
第3页 / 共6页
【计算机类职业资格】二级C语言-174 (1)及答案解析.doc_第4页
第4页 / 共6页
【计算机类职业资格】二级C语言-174 (1)及答案解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、二级 C 语言-174 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.请补充函数 proc(),该函数的功能是求一维数组 arrN的平均值,并对所得结果进行四舍五入(保留两位小数)。 例如,当 arr10=5.6,9.9,9.7,55.2,7.3,9.5,12.8,7.9,16.0,16.8,结果为:avg=15.070000。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的横线上填入所编写的若干表达式或语句。 试题程序: #includestdlib.h #includes

2、tdio.h #includeconio.h double proc(double arr10) int i; long t; double avg=0.0; double sum=0.0; for(i=0; i10; i+) 1; avg=sum/10; avg= 2; t= 3; avg=(double)t/100; return avg; void main() double avg, arr10=15.6, 19.9, 16.7, 15.2, 18.3, 12.1, 15.5, 11.0, 10.0, 16.0; int i; system(“CLS“); printf(“/nThe

3、original data is: /n“); for(i=0; i10; i+) printf(“%6.1f“, arri); printf(“/n/n“); avg=proc(art); printf(“average=%f/n/n“, avg); (分数:30.00)二、程序改错题(总题数:1,分数:40.00)2.下列给定程序中,函数 proc()的功能是计算并输出 h 以内的素数之和。h 由主函数传给 proc()函数。若 h 的值为 80,则函数的值为 791。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题

4、程序: #includestdlib.h #includeconio.h #includestdio.h #includemath.h int proc(int h) int sum=0, n=0, j, yes; while(h=2) yes=1; for(j=2; j=h/2; j+) /*found* ifh%j=0 yes=0; break; /*found* if(yes=0) sum+=h; n+; h-; return sum; void main() system(“CLS“); printf(“%d/n“, proc(80); (分数:40.00)_三、程序设计题(总题数:1

5、,分数:30.00)3.假定输入的字符串中只包含字母和*号。请编写函数 proc(),它的功能是:删除字符串中所有的*号。在编写函数时,不得使用 C 语言中提供的字符串函数。 例如,若字符串中的内容为*a*bc*def*g*,删除后,字符串中的内容则应当是 abcdefg。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的花括号中填入所编写的若干语句。 试题程序: #includeconio.h #includestdio.h void proc(char*a) void main() char str81; printf(“Enter a

6、 string: /n“); gets(str); proc(str); printf(“The string after deleted:/n“); puts(str); (分数:30.00)_二级 C 语言-174 (1)答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.请补充函数 proc(),该函数的功能是求一维数组 arrN的平均值,并对所得结果进行四舍五入(保留两位小数)。 例如,当 arr10=5.6,9.9,9.7,55.2,7.3,9.5,12.8,7.9,16.0,16.8,结果为:avg=15.070000。 注意:部分

7、源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的横线上填入所编写的若干表达式或语句。 试题程序: #includestdlib.h #includestdio.h #includeconio.h double proc(double arr10) int i; long t; double avg=0.0; double sum=0.0; for(i=0; i10; i+) 1; avg=sum/10; avg= 2; t= 3; avg=(double)t/100; return avg; void main() double avg, arr10

8、=15.6, 19.9, 16.7, 15.2, 18.3, 12.1, 15.5, 11.0, 10.0, 16.0; int i; system(“CLS“); printf(“/nThe original data is: /n“); for(i=0; i10; i+) printf(“%6.1f“, arri); printf(“/n/n“); avg=proc(art); printf(“average=%f/n/n“, avg); (分数:30.00)解析:sum+=arri avg*1000 (avg+5)/10解析 由函数 proc()可知,变量 sum 存放一维数组中所有元素

9、的和,因此,第一处填“sum+=arri”;题目中要求对所得结果进行四舍五入(保留两位小数),因此,第二处填“avg*1000”;第三处填“(avg+5)/10”。二、程序改错题(总题数:1,分数:40.00)2.下列给定程序中,函数 proc()的功能是计算并输出 h 以内的素数之和。h 由主函数传给 proc()函数。若 h 的值为 80,则函数的值为 791。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdlib.h #includeconio.h #includestdio.h #i

10、ncludemath.h int proc(int h) int sum=0, n=0, j, yes; while(h=2) yes=1; for(j=2; j=h/2; j+) /*found* ifh%j=0 yes=0; break; /*found* if(yes=0) sum+=h; n+; h-; return sum; void main() system(“CLS“); printf(“%d/n“, proc(80); (分数:40.00)_正确答案:()解析:(1)错误:ifh%j=0 正确:if(h%j=0) (2)错误:if(yes=0) 正确:if(yes) 解析 由

11、 C 语言语法规则可知,if 语句的条件必须用括号括起来,因此,“ifh%j=0”应改为“if(h%j=0)”;当变量 yes=0 时,说明整数 h 为非素数,不计入和当中,因此,“if(yes=0)”应改为“if(yes)”。三、程序设计题(总题数:1,分数:30.00)3.假定输入的字符串中只包含字母和*号。请编写函数 proc(),它的功能是:删除字符串中所有的*号。在编写函数时,不得使用 C 语言中提供的字符串函数。 例如,若字符串中的内容为*a*bc*def*g*,删除后,字符串中的内容则应当是 abcdefg。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任

12、何内容,仅在函数 proc()的花括号中填入所编写的若干语句。 试题程序: #includeconio.h #includestdio.h void proc(char*a) void main() char str81; printf(“Enter a string: /n“); gets(str); proc(str); printf(“The string after deleted:/n“); puts(str); (分数:30.00)_正确答案:()解析:void proc(char*a) int i, j=0; for(i=0; ai!=“/0“; i+) /从 0 开始判断,直到数组的结束 if(ai!=“*“) /把不是*号的元素放到 a 数组中 aj+=ai; aj=“/0“; /最后用“/0“作为其结束标志 解析 按照题目中要求删除字符串中所有的*号,需要检查字符串中的每一个字符是否是*号。将不是*号的字符存放在原来的字符串中,形成新的字符串。最后为新的字符串添加结束符。

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

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

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