[计算机类试卷]国家二级C++机试(操作题)模拟试卷174及答案与解析.doc

上传人:tireattitude366 文档编号:497237 上传时间:2018-11-28 格式:DOC 页数:5 大小:35KB
下载 相关 举报
[计算机类试卷]国家二级C++机试(操作题)模拟试卷174及答案与解析.doc_第1页
第1页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷174及答案与解析.doc_第2页
第2页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷174及答案与解析.doc_第3页
第3页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷174及答案与解析.doc_第4页
第4页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷174及答案与解析.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家二级 C+机试(操作题)模拟试卷 174及答案与解析 一、基本操作题 1 给定程序中,函数 fun的功能是:计算形参 x所指数组中 N个数的平均值 (规定所有数均为正数 ),作为函数值返回,并将大于平均值的数放在形参 y所指数组中,在主函数中输出。 例如,有 10个正数: 46、 30、 32、 40、 6、 17、 45、 15、 48、 26,其平均值为30 500000。 主函数中输出: 46 32 40 45 48。 请在程序的中括号处填入正确的内容并把中括号删除,使程序得出正确的结果。注意:部分源程序在文 件 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! 试题程

2、序: #1nclude #include #define N10 double fun(double x, double*y) int i, j; double av; *found* av=【 1】; *found* for(i=0; iav)y【 3】 =xi; yj=一 1; return av; main() int i; double xN, yN; for(i=0; i=0; i+) printf(“ 5 1 f“, yi); printf(“ n“); 二、简单应用题 2 下列给定程序中,函数 fun的功能是:求出如下分数列的前 n项之和。 和值通过函数值返回 main函数。例如

3、,若 n=5,则应输出8 391667。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件 MODI1 C中,不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: #include#include#include *found* fun(int n)int a, b, c, k; double s; s=0 0; a=2; b=1; for(k=1; k 三、综合应用题 3 m个人的成绩存放在 score数组中,请编写函数 fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在 below所指的数组中。 例如,当 score数组中

4、的数据为 10、 20、 30、 40、 50、 60、 70、 80、 90时,函数返回的人数应该是 4, below中的数据应为 10、 20、 30、 40。 注意:部分源程序在文件 PROGl C中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: #include #include #include #include int fun(2nt score, 2nt m, 2nt below) void main() FILE*wf; int i, n, below9; int score9=10, 20, 30, 40, 5

5、0, 60, 70, 80, 90; system(“CLS“); n=fun(score, 9, below); printf(“ nBelow the average score are: “); for(i=0; in; i+) printf(“ d“, belowi); * wf=fopen(“out dat“, “w“); for(i=0; in; i+) fprintf(wf, “ d“, belowi); fclose(wf); * 国家二级 C+机试(操作题)模拟试卷 174答案与解析 一、基本操作题 1 【正确答案】 (1)0 0 (2)xi N (3)j+ 【试题解析】 填

6、空 1:通过上面的程序可以看出此空考的是给变量赋初值, av代表的是平均值,因此 av的初值应该是 0 0。 填空 2:通过 for循环可知,此空代表求平均值,因此应该填写 xi N。 填空 3:先把大于平均值的数放 在形参 y所指数组中,然后使下标值加 1,因此此空应该填 j+。 二、简单应用题 2 【正确答案】 (1)double fun(int n) (2)s=s+(double)a b; 【试题解析】 (1)由于返回值 s是 double型的,所以函数要定义为 double型。 (2)C语言规定所有关键字都必须用小写英文字母表示,所以 s=s+(I)ouble)a b;应改为 s=s+

7、(double)a b:。 三、综合应用题 3 【正确答案】 int fun(int score, int m, int below) int i, j=0; float av=0 0; for(i=0; im; i+) av=av+scorei m; *求平均值 * for(i=0; im; i+) if(scireiav) *如果分数低于平均分,则将此分数放入 belOW数组中 * belowj+=scorei; return j; *返回低于平均分的人数 * 【试题解析】 要计算低于平均分的人数,首先应该求出平均分,然后通过 for循环语句和 if条件 语句找出低于平均分的分数。该题第 1个循环的作用是求出平均分 av,第 2个循环的作用是找出低于平均分的成绩记录并存入 below数组中。

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

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

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