【计算机类职业资格】计算机二级(C)上机考试5及答案解析.doc

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

1、计算机二级(C)上机考试 5及答案解析(总分:-3.00,做题时间:120 分钟)1.填空题 请补充函数 fun(),该函数的功能是:按0到9统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组 num中。注意:不能使用字符串库函数。 例如:输入“x=112385713.456+0.909*bc”,结果为:13,32,52,71,92。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include #define N 1000 void fun(char *tt,int num) i

2、nt i,j; int bb10; char *p=tt; for(i=0;i=0 p+; for(i=1,j=0;i_2.改错题 在主函数中从键盘输入若干个数放入数组中,用 0结束输入并放在最后一个元素中。下列给定程序中,函数 fun()的功能是计算数组元素中值为负数的平均值(不包括 0)。 例如:数组中元素的值依次为 43,-47,-21,53,-8,12,0,则程序的运行结果为-25.333333。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include double fun(int

3、x ) double sum=0.0; int c=0, i=0; /*found*/ while(xi=0) if(xi_3.编程题 m 个人的成绩存放在 score数组中,请编写函数 fun(),它的功能是:将高于平均分的人数作为函数值返回,将高于平均分的分数放在 up所指的数组中。 例如,当 score数组中的数据为24,35,88,76,90,54,59,66,96 时,函数返回的人数应该是 5,up 中的数据应为88,76,90,66,96。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。 试题程序: #i

4、nclude #include #include int fun(int score,int m, int up) main() int i, n, up9; int score9=24,35,88,76,90,54,59,66,96; clrscr(); n=fun(score, 9, up); printf(“/nup to the average score are: “); for(i=0;i_计算机二级(C)上机考试 5答案解析(总分:-3.00,做题时间:120 分钟)1.填空题 请补充函数 fun(),该函数的功能是:按0到9统计一个字符串中的奇数数字字符各自出现的次数,结果保存

5、在数组 num中。注意:不能使用字符串库函数。 例如:输入“x=112385713.456+0.909*bc”,结果为:13,32,52,71,92。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include #define N 1000 void fun(char *tt,int num) int i,j; int bb10; char *p=tt; for(i=0;i=0 p+; for(i=1,j=0;i_正确答案:(【1】*p 【2】bb*p-0+ 【3】numj=bbi )解析

6、:填空 1:通过移动指针 p,指向字符串 tt中的各个字符,当指针 p所指的字符为/0时,即指向字符串 tt的最后一个字符,while 循环结束。填空 2:将字符串中的数字字符0到9的个数都保存在数组bb10中。*p-0实现将字符0的个数保存在 bb0中,将字符1的个数保存在 bb1中,依此类推,直到将字符9的个数保存在 bb9中。填空 3:由于奇数数字字符的个数存于 bb1、bb3、bb5、bb7、bb9中,所以 for循环的目的是将这些元素分别赋给 num0、num1、num2、num3、num4。2.改错题 在主函数中从键盘输入若干个数放入数组中,用 0结束输入并放在最后一个元素中。下列

7、给定程序中,函数 fun()的功能是计算数组元素中值为负数的平均值(不包括 0)。 例如:数组中元素的值依次为 43,-47,-21,53,-8,12,0,则程序的运行结果为-25.333333。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include double fun(int x ) double sum=0.0; int c=0, i=0; /*found*/ while(xi=0) if(xi_正确答案:((1)错误:while(xi=0) 正确:while(xi!=0) (2)错

8、误:sum=sum/c; 正确:sum=sum/c; )解析:错误 1:此处考查的是对循环条件的理解,当被判断的数组元素为 0时,说明这是数组的最后一个元素,此时要跳出循环。 错误 2:C 语言中的除法运算符是“/“,而不是“。 3.编程题 m 个人的成绩存放在 score数组中,请编写函数 fun(),它的功能是:将高于平均分的人数作为函数值返回,将高于平均分的分数放在 up所指的数组中。 例如,当 score数组中的数据为24,35,88,76,90,54,59,66,96 时,函数返回的人数应该是 5,up 中的数据应为88,76,90,66,96。 注意:部分源程序给出如下。 请勿改动

9、主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include int fun(int score,int m, int up) main() int i, n, up9; int score9=24,35,88,76,90,54,59,66,96; clrscr(); n=fun(score, 9, up); printf(“/nup to the average score are: “); for(i=0;i_正确答案:(int fun(int score,int m, int up) int i,j=0; float av=0.0; for(i=0;iav) /*如果分数高于平均分,则将此分数放入 up数组中*/ upj+=scorei; return j; /*返回高于平均分的人数*/ )解析:该题第 1个循环的作用是求出平均分 av,第 2个循环的作用是找出高于平均分的成绩并存入 up数组中。

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

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

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