设为首页 加入收藏

TOP

C语言编程笔试题(第二十八套)
2014-11-24 01:20:15 来源: 作者: 【 】 浏览:5
Tags:语言编程 试题 二十八

编程题:


11.下列程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N],该函数的功能是:使数组左下半三角元素中的值全部置成0。例如:a数组中的值为:


,则返回主程序后a数组中的值应为:。


注意:部分源程序给出如下。


请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。


#include


#include


#include


#define N 5



void fun(int a[][N])


{



}


main()


{


int a[N][N],i,j;


clrscr();


printf(“***** The array *****\n”);


for(i=0;i

{


for(j=0;j

{


a[i][j]=rand()%10;


printf(“%4d”,a[i][j]);


}


printf(“\n”);


}


fun(a);


printf(“THE RESULT\n”);


for(i=0;i

{


for(j=0;j

printf(“%4d”,a[i][j]);


printf(“\n”);


}


}



12.下列程序定义了NXN的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的s。例如:若a数组中的值为:


,则返回主程序后s的值应为3.375。


注意:部分源程序给出如下。


请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。


#include


#include


#include


#define N 5



double fun (int w[][N])


{


}



main()


{


int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1};


int i,j;


double s;


clrscr();


printf(“***** The array *****\n”);


for(i=0;i

{


for(j=0;j

{


printf(“%4d”,a[i][j]);


}


printf(“\n”);


}


s=fun(a);


printf(“***** THE RESULT *****\n”);


printf(“The sum is %lf\n”,s);


}



改错题:


67.下列给定程序中,函数fun的功能是:应用递归算法求某数a的平方根。求平方根的迭代公式如下:


1 a


x1= -(x0 + -)


2 x0


例如,2的平方根值为1.414214。


请改正程序中的错误,使它能得出正确结果。


注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


试题程序:


#include


#include



/********found********/


fun(double a, double x0)


{


double x1, y;


x1=(x0+ a/x0)/2.0;


/********found********/


if( fabs(x1-x0)>0.00001 )


y=fun(a,x1);


else


y=x1;


return y;


}


main( )


{


double x;


printf(“Enter x: “);


scanf(“%lf”,&x);


printf(“The square root of %lf is %lf\n”,x,fun(x,1.0));


}




70.下列给定程序中,函数fun的功能是:从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定,函数中a1放个位数,a2放十位数。


请改正程序中的错误,使程序能得出正确结果。


注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。


试题程序:


#include



/********found********/


fun( int *b )


{


int k,a1,a2,i=0;


/********found********/


for(k=10; k<=55; k++)


{


a2=k/10;


a1=k-a2*10;


if((k%3==0 && a2==5)||(k%3==0 && a1==5))


{


b[i]=k;


i++;


}


}


/********found********/


return k;


}


main( )


{


int a[100],k,m;


m=fun( a );


printf(“The result is:\n”);


for(k=0; k

printf(“%4d”,a[k]);


printf(“\n”);


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言编程笔试题(第二十七套) 下一篇C语言编程笔试题(第二十九套)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: