国家二级(C语言)机试模拟试卷939
程序填空题
1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素做顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,再使临时数组中的元素成为最后一列。
例如,若N=3,有下列矩阵:
1 2 3
4 5 6
7 8 9
操作后应为:
7 4 1
8 5 2
9 6 3
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件blank1.c中。
不得增行或删行,也不得更改程序的结构!
#include
#define N 4
void fun(int (*t)[N])
{ int j ,r[N];
for(j=0; j<N; j++) r[j]=t[0][j];
for(j=0; j<N; j++)
/**********found**********/
t[0][N-j-1]=t[j][___1___];
for(j=0; j<N; j++)
t[j][0]=t[N-1][j];
/**********found**********/
for(j=N-1; j>=0;___2___)
t[N-1][N-1-j]=t[j][N-1];
for(j=N-1; j>=0; j–)
/**********found**********/
t[j][N-1]=r[___3___];
}
void main( )
{ int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j;
printf(\\
(1)0 (2)j–(3)j
解析:本题考查:数组元素的引用; for循环语句。
程序修改题
2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数un的功能是:计算s= (+1(+1+…+f0)+f(1)+(2)+…+f(n)的值。
例如,当n的值为5时,函数值应为10.407143。
f(x)函数定义如下:
(1)double f(double x)
(2)return s;
解析:本题考查:函数定义,其一般形式为“类型标识符函数名形式参数列表)\\
程序设计题
3.使VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是计算:
double fun(int m)
{
int i;
double s=0.0;
for(i=1;i<=m;i++)
s=s+log(i) /*计算s=ln(1)+ln(2)+ln(3)+..+ln(m)*/
return sqrt(s); /*对s求平方根并返回*/
}
解析:本题考查:计算表达式的值运用for循环语句通过累加操作求和;平方根函数sqrt( )的使用。首先计算从1到m的对数的和,因此循环变量的范围是1~m,每次循环都进行一次累加求和。该题需要注意的是,log( )函数的形式参数应当为double型变量,而用于循环的基数变量为整数,需要进行强制转换。在返回的时候求出平方根。
本文档预览:3600字符,共2181字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载