栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > C++面试题库

C语言编程笔试题(第二十八套)

C语言编程笔试题(第二十八套)

编程题:

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

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

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

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

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#define N 5

 

void fun(int a[][N])

{

 

}

main()

{

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

clrscr();

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

for(i=0;i<N;i++)

{

for(j=0;j<N;j++)

{

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

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

}

printf(“n”);

}

fun(a);

printf(“THE RESULTn”);

for(i=0;i<N;i++)

{

for(j=0;j<N;j++)

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

printf(“n”);

}

}

 

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

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

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

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

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#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<N;i++)

{

for(j=0;j<N;j++)

{

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

}

printf(“n”);

}

s=fun(a);

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

printf(“The sum is %lfn”,s);

}

 

改错题:

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

1       a

x1= -(x0 + -)

2       x0

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

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

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

试题程序:

#include  <stdio.h>

#include  <math.h>

 

fun(double a, double x0)

{

double  x1, y;

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

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 %lfn”,x,fun(x,1.0));

}

 

 

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

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

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

试题程序:

#include<stdio.h>

 

fun( int  *b )

{

int  k,a1,a2,i=0;

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++;

}

}

return k;

}

main( )

{

int  a[100],k,m;

m=fun( a );

printf(“The result is:n”);

for(k=0; k<m; k++)

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

printf(“n”);

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/265406.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号