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

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

1、国家二级 C语言机试(操作题)模拟试卷 415及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是:计算 x所指数组中 N个数的平均值(规定所有数均为正数),平均值通过形参返回给主函数,将小于平均值且最接近平均值的数作为函数值返回,并在主函数中输出。 例如,有 10个正数: 46、 30、 32、 40、 6、 17、 45、 15、 48、 26,平均值为 30 500000。 主函数中输出 m=30。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分 源程序在文件 BLANK1 C中。 不得增行或删行,也不得更改程序的结构! 试题程序: #i

2、nclude stdlib h #include stdio h #de fine N 10 double fun (double x,double * av) int i, j ; double d, s; s =0; for(i=0; i N; i+) s = s +xi, /*found*/ 【 1】 = s/N; d =32767; if(xi *av & *av 一 xi =d) /*found*/ d= *av 一 xi; j=【 2】 ; /*found*/ return 【 3】 ; main () int i; double xN,av,m; printf “n“) ; m

3、= fun (xf &av) ; printf (“nThe average is: fnl, av) ; printf (“m = 5 lf “,m) ; printf ( “n“) ; 二、程序修改题 2 下列给定程序中,函数 fun的功能是:根据整型形参 n,计算如下公式的值。例如,若 n =10,则应输出 0 617977。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件 MODI1 C中,不要改动 maln函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include stdlib h #include conio h #include stdio h

4、 /*found*/int fun (int n) float A=1; int i;/*found*/for(i=2 ; i n; i+) A=1 0/(1+A); return A; void main () int n; system ( “CLS“) ; printf (“nPlease enter n: “) ; printf (“A d = lfn“,n,fun (n) ; 三、程序设计题 3 下列程序定义了 NN的二维数组,并在主函数中自动赋值。请编写函数 fun(int a N, int m),该函数的功能是使数组右上半三角元素中的值乘以 m。 例如,若m的值为 2, a数组中

5、的值为: 则返回主程序后 a数组中的值应为: 注意:部分源程序在文件 PROG1 C中。 请勿改动主函数mam和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: #include conio h #include stdio h #include stdlib h #include string h #define N 5void fun (int a N, int m) main () int aNN,m, i, j; FILE *out; printf (“ * The array * n“) ; for(i=2 ; i n; i+) A=1 0/(1+A

6、); return A; for(i=0; i N; i+) for(j=0; j N; j+) aij=rand() 2 0; printf(“ 4d“, al ij); printf (“n“) ; m = rand () 4; printf ( “m = 4dn“,m) ; fun (a,m) ; printf (“THE RESULTn“) ; printf (“n“) ; /*found*/ out = fopen (“out dat“, “w“) ; for (1 =0 f i N; i+)for(j=0; j N; j+) fprintf(out, “ 4d“, aij); fu

7、n (a,8) ; fprintf (out, “ 4d“,ai j ) ; fprintf (out, “n“) ; fclose (out) ; /*found*/ 国家二级 C语言机试 (操作题)模拟试卷 415答案与解析 一、程序填空题 1 【正确答案】 (1)*av (2)i (3)xj 【试题解析】 填空 1:从原程序中可以看出 *av代表的是平均值,而 s/N表示的就是平均值,因此本空应该填 *av。 填空 2:if语句来判断找最接近平均值的数,因而此空应该填 i。 填空 3:题目要求将小于平均值且最接近平均值的数作为函数返回,而 j表达的是最接近平均值的数在数组中的下标,因而本

8、空应该填写 xj。 二、程序修改题 2 【正确答案】 (1)float fun( int n) (2)for(i =2; i =n; i+) 【试题解析】 (1)根据函数的返回值可知,函数应定义为 float型。 (2)该题中函数 fun的作用是计算数列前 n项的和,而数列的组成方式是:第 n项的分母是 1加第 n一 1项的值,分子为 1,如果循环累加按 for(i=2; i n; i+)执行,当输入 n=2时循环不会执行,程序将得不到想要的结果,因此循环变量的取值范围应包括 2,循环的条件为 i =n。 三、程序设计题 3 【正确答案】 void fun (int a N, int m) int i,j; for(j=0; j N; j+) for(i=0; i =j; i+) aij=aij*m; /*右上半三角元素中的值乘以 m*/ 【试题解析】 本程序实现将矩阵中右上半三角元素中的值乘以 m,使用循环语句遍历数组元素,第 1个循环用于控制行坐标,第 2个循环用于控制列下标。

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

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

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