1、国家二级 C语言机试(操作题)模拟试卷 443及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是:计算下式前 n项的和,并作为函数值返回。例如,当形参 n的值为 10时,函数返回一 0 204491。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include stdio h double fun(int n) int i, k; double s,t; s=0; /*found*/ k=【 1】; for(i=1; i =n;i+)/*found*/ t=【 2】; s=
2、s+k*(2*i一 1)*(2*i+1)/(t*t);/*found*/ k=k*【 3】; return s; main() int n=一 1; while(n 0) printf(“please input(n 0): “); scar1f(“ d“, &n); ) printf(“nThe result is:fn“, fun(n); 二、程序修改题 2 下列给定程序中函数 fun的功能是:判断一个整数是否为素数,若是素数返回l,否则返回 0。 在 main函数中,若 fun返回 1输出 YES,若 fun返回 0输出 NO!。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改
3、动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: #include stdlib h #include codlio h #include stdio h int fun(int m) int k=2; while(k =m&(m k) /*found*/ k+ /*found*/ if(m=k) return 1; else return 0; void main() int n; system(“CLS“); printf(“nPlease enter n: “); scanf(“ d“, &n); if(fun(n)printf(“YESn“); else prin
4、tf(“NO!n“); 三、程序设计题 3 请编写函数 fun,其功能是:找出一维整型数组元素中最大的值及其所在的下标,并通过形参传回。数组元素中的值已在主函数中赋予。 主函数中 x是数组名, n是 x中的数据个数, max存放最大值, index存放最大值所在元素的下标。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: #include time h #include stdlib h #include stdio h void fun (int a,int n int * max, int * d)
5、void main () int i, x20, max, index, n =10; srand (unsigned) time (NULL ; xi = rand () 50; printf (“ 4d“,xi) ; / * 输出一个随机数组 * / printf (“n“) ; fun (x,n, &max f &index) ; printf (“Max = 5d, Index = 4dn“, max,index) ; 国家二级 C语言机试(操作题)模拟试卷 443答案与解析 一、程序填空题 1 【正确 答案】 (1)1 (2)2*i (3)(一 1) 【试题解析】 填空 1:由 fu
6、n函数整体结构可以看出 k的作用是赋值,并累加各项前边的正负号,由于第一项是正的,因此赋给 k的值为 1。 填空 2:此空下一行的表达式 k*( 2*1一 1) *( 2 *1+1) /( t*t)累加的通项, k为正负号,由题目中的公式可知 t=2*i。 填空 3:由于通项前边的正负号每次都要发生变化,因此 k=k*(一 1)。 二、程序修改题 2 【正确答案】 (1)k+; (2)if(m=k) 【试题解析】 函数 fun的功能是判断 m是否 为素数: m从 2开始作为除数,并对 m取余,若不存在一个数使得余数为 0,则 m为素数,程序的错误在于 if(m=k)语句中的逻辑表达式写成了赋值语句。 三、程序设计题 3 【正确答案】 void fun (int a,int n, int* max, int *d) int i; *max=a0; *d=0; for(i=1; i n; i+)/*将最大的元素放入指针 max所指的单元,最大元素的下标放入指针 d所指的单元 */ if( *max ai) *max=ai; *d=i; 【试题解析】 查找最大值及其下标需要定义两个变量,该程序直接使用形参 max和 d,由于它们都是指针变量,所以在引用它所指向的变量时要对它进行指针运算。循环语句用来遍历数组元素,条件语句用来判断该数组元素是否最大。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1