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

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

1、计算机二级(C)上机考试 1及答案解析(总分:-3.00,做题时间:120 分钟)1.填空题 从键盘输入一组无符号整数并保存在数组 xxN中,以整数结束输入,要求这些数的最大位数不超过位,其元素的个数通过变量 num传入函数 fun()。请补充函数 fun(),该函数的功能是:从数组 xx中找出个位和十位的数字之和大于的所有无符号整数,结果保存在数组 yy中,其个数由函数fun()返回。 例如:当 xx8=123,11,25,222,42,333,14,5451时, bb4=25,42,333,5451。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 f

2、un的横线上填入所编写的若干表达式或语句。 试题程序: #include #define N 1000 int fun(int xx,int bb,int num) int i, n=0; int g, s; for(i=0;i5) 【2】; return【3】; main() int xxN; int yyN; int num=0,n=0,i=0; printf(“Input number :/n“); do scanf(“%u“, while(xxnum+!=0); n=fun(xx,yy,num); printf(“/nyy=“); for(i=0;i_2.改错题 下列给定程序中,函数

3、fun()的功能是:从 n个学生的成绩中统计出高于平均分的学生人数,人数由函数值返回,平均分存放在形参 aver所指的存储单元中。例如输入 8名学生的成绩: 85 65.5 69 95.5 87 55 62.5 75 则高于平均分的学生人数为 4(平均分为 74.312500)。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 试题程序:#include #include #define N 20 int fun(float *s, int n,float *aver) /*found*/ int ave ,t=0; int co

4、unt=0,k,i; for(k=0;k_3.编程题 编写函数 fun(),它的功能是求 n以内(不包括 n)同时能被 5与 11整除的所有自然数之和的平方根 s,并作为函数值返回。 例如:n 为 1000时,函数值应为 s=96.979379。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include double fun(int n) main() clrscr(); printf(“s=%f/n“, fun(1000); (分数:-1.00)_计算机二级(

5、C)上机考试 1答案解析(总分:-3.00,做题时间:120 分钟)1.填空题 从键盘输入一组无符号整数并保存在数组 xxN中,以整数结束输入,要求这些数的最大位数不超过位,其元素的个数通过变量 num传入函数 fun()。请补充函数 fun(),该函数的功能是:从数组 xx中找出个位和十位的数字之和大于的所有无符号整数,结果保存在数组 yy中,其个数由函数fun()返回。 例如:当 xx8=123,11,25,222,42,333,14,5451时, bb4=25,42,333,5451。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的横线上填

6、入所编写的若干表达式或语句。 试题程序: #include #define N 1000 int fun(int xx,int bb,int num) int i, n=0; int g, s; for(i=0;i5) 【2】; return【3】; main() int xxN; int yyN; int num=0,n=0,i=0; printf(“Input number :/n“); do scanf(“%u“, while(xxnum+!=0); n=fun(xx,yy,num); printf(“/nyy=“); for(i=0;i_正确答案:(【1】xxi%10 【2】bbn+=

7、xxi 【3】n )解析:填空 1:将一个整数对 10取余,则得到这个整数的个位数,将一个整数除以 10再对 10取余,则得到这个整数的十位数。由程序可以看出,变量 s保存了整数的十位数,所以应该将整数的个位数保存于变量 g中。填空 2:当整数的个位与十位的数字之和大于 5时,则将这个整数存于数组 bb中,同时,变量 n记录了满足条件的无符号整数的个数。填空 3:题目要求满足条件的无符号整数的个数由 fun函数返回,所以函数返回 n。2.改错题 下列给定程序中,函数 fun()的功能是:从 n个学生的成绩中统计出高于平均分的学生人数,人数由函数值返回,平均分存放在形参 aver所指的存储单元中

8、例如输入 8名学生的成绩: 85 65.5 69 95.5 87 55 62.5 75 则高于平均分的学生人数为 4(平均分为 74.312500)。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 试题程序:#include #include #define N 20 int fun(float *s, int n,float *aver) /*found*/ int ave ,t=0; int count=0,k,i; for(k=0;k_正确答案:((1)错误:int ave ,t=0; 正确:float ave ,t=0

9、0; (2)错误:if(siave) (3)错误:aver=ave; 正确:*aver=ave; )解析:错误 1:ave 和 t分别用来存放成绩的平均值和总分,应为实型数。 错误 2:根据题意,找出高于平均分的数,所以此处的关系运算符应为“ 错误 3:aver 是指针,而 ave是一个数,不能将一个数赋值给一个指针,而要用符号*。 3.编程题 编写函数 fun(),它的功能是求 n以内(不包括 n)同时能被 5与 11整除的所有自然数之和的平方根 s,并作为函数值返回。 例如:n 为 1000时,函数值应为 s=96.979379。 注意:部分源程序给出如下。 请勿改动主函数 main和其

10、他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include double fun(int n) main() clrscr(); printf(“s=%f/n“, fun(1000); (分数:-1.00)_正确答案:(double fun(int n) double s=0.0; int i; for(i=0; i解析:本题的解题思路是逐个取得从 0n 之间的所有数,对每次取得的数进行条件判断,条件是既能被5整除同时又能被 11整除,注意:这两个条件要求同时成立,因此用到了“&“运算符。满足条件,该数就被累加到 s中去,求出所有符合条件的数后,用 sqrt()函数(包含于头文件中)对 s求平方根。

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

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

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