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

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 109 收藏 0 点赞 0 评论 0

编程题:

13.请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。

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

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

#include <conio.h>

#include <stdio.h>

#define  M  3

#define  N  4

 

void fun ( int tt[M][N],int pp[N] )

{

}

 

main( )

{

int t [ M ][ N ]={{22,45, 56,30},

{19,33, 45,38},

{20,22, 66,40}};

int  p [ N ],  i,  j,  k;

clrscr();

printf ( “The original data is : n” );

for( i=0; i<M; i++ ){

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

printf ( “%6d”, t[i][j] );

printf(“n”);

}

fun ( t, p );

printf( “nThe result  is:n” );

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

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

printf(“n”);

}

 

14.请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。

例如:若二维数组中的值为:,则函数值为61。

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

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

#include <conio.h>

#include <stdio.h>

#define  M  4

#define  N  5

 

int  fun ( int a[M][N] )

{

}

 

main( )

{

int  aa[M][N]={{1,3,5,7,9},

{2,9,9,9,4},

{6,9,9,9,8},

{1,3,5,7,0}};

int  i, j, y;

clrscr();

printf ( “The original data is : n” );

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

{

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

printf( “%6d”, aa[i][j] );

printf (“n”);

}

y = fun ( aa );

printf( “nThe  sum:  %dn” , y);

printf(“n”);

}

 

改错题:

72.下列给定程序中函数fun的功能是:统计子字符串substr在字符串str中出现的次数。例如,若字符串为aaas lkaaas,子字符串为as,则应输出2。

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

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

试题程序:

#include<stdio.h>

 

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

fun(char *str,char *substr)

{

int i,j,k,num=0;

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

for(i = 0, str[i], i++)

for(j=i,k=0;substr[k]==str[j];k++,j++)

if(substr[k+1]==’’)

{

num++;

break;

}

return num;

}

 

main()

{

char str[80],substr[80];

printf(“Input a string:”);

gets(str);

printf(“Input a substring:”);

gets(substr);

printf(“%dn”,fun(str,substr));

}

 

 

75.下列给定程序中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。

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

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

试题程序:

#include<conio.h>

#include<stdio.h>

 

#define M 5

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

int fun(int m, int xx[][])

{

int i,j,sum=0;

printf(“nThe %d x %d matrix:n”,M,M );

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

{

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

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

printf(“%4f”,xx[i][j]);

printf(“n”);

}

 

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

sum+=xx[i][i]+xx[i][m-i-1];

if(m%2!=0)

sum-=xx[m/2][m/2];

return(sum);

}

 

main( )

{

int aa[M][M]={{1,2,3,4,5},{4,3,2,1,0},

{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};

clrscr();

printf(“nThe sum of all elements on 2 diagnal is %d.”,fun(M,aa));

}

评论列表
文章目录