PAGE
PAGE 1
[模拟] 计算机二级C语言机试7
一、填空题
填空题
第1题:
参考答案:
[1] int a[][N],int b[],int n [2] b[i]<a[i][j] [3] b[i]<b[j]
详细解答:
填空1:根据主函数main()调用函数fun()的格式,可以知道函数fun()有3个参数,第一个参数是N×N整型二维数组,第二个参数是整型—维数组,第三个参数是整型变量。填空2:数组元素b[i]保存第i行的最大值,通过循环将第i行的各元素与b[i]进行比较,如果大于b[i],则将这个数赋给b[i].填空3:通过for循环嵌套,将数组b中的数按从 小到大的顺序排列,依次将各元素与所有元素进行比较,如果有一个元素比当前元素大,就借助第三个变量交换这两个元素,最终使第一个元素保存数组中最小的数,最后一个元 素保存数组中最大的数。
二、改错题
改错题
第2题:
参考答案:
(1) 错误:for(k=4;k<n;k++) 正确:for(k=4;k<=n;k++) (2) 错误:s2=s; 正确:s2=s;}
详细解答:
错误1:循环中包括k=n的情况,所以k要取到n之后才结束循环。错误2:for循环的语句要用大括号,在此处少了“}”,应添上。
三、编程题
编程题
第3题:
参考答案:
void fun(int m,int *k,int XX[]) { int i,j,t,n=0; for(i=2;i<m;i++) /*找出大于1小于整数m的素数*/ { t=l; for(j=2;j<i;j++) if(i%j==0) { t=0; break; } if(t==1) xx[n++]=i; } *k=n; /*返回素数的个数*/ }
详细解答:
这道题是考查一个数是不是素数,只要掌握了判断素数的方法,问题便能顺利解决,请以此题为例,掌握判断素数的方法。