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

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

编程题:

88.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。

例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容则应当是****ABCDEFG。

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

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

#include <stdio.h>

#include <conio.h>

 

void fun(char *a)

{

}

 

main()

{

char  s[81];

printf(“Enter a string :n”);

gets(s);

fun( s );

printf(“The string after deleted:n”);

puts(s);

}

 

91.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。

例如,当a=45,b=12,调用该函数后,c=5241。

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

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

#include <conio.h>

#include <stdio.h>

void fun(int a, int b, long *c)

{

}

main()

{

int a,b;

long c;

clrscr();

printf(” Input a, b: “);

scanf(“%d%d”, &a,&b);

fun(a,b,&c);

printf(” The result is :%ldn”, c);

}

 

改错题:

51.下列给定程序中,函数fun的功能是:将m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指字符串中。例如:把3个串abe,CD,EF串连起来,结果是abcCDEF。

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

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

试题程序:

#include <conio.h>

#include <stdio.h>

#include <string.h>

 

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

int  fun ( char  str[][10], int m, char *pt )

{

int k, q, i ;

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

{

q = strlen ( str [k] );

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

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

pt[i] = str[k,i] ;

pt += q ;

pt[0] = 0 ;

}

}

main( )

{

int  m, h ;

char s[10][10], p[120] ;

clrscr() ;

printf(“nPlease enter m:” ) ;

scanf(“%d”, &m) ;

gets(s[0]) ;

printf( “nPlease enter  %d string:n”, m );

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

gets( s[h]) ;

fun(s, m, p) ;

printf( “nThe result  is : %sn”, p) ;

}

 

 

54.下列给定程序中,函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。

请改正函数fun中的错误,使它能得出正确的结果。

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

试题程序:

#include<conio.h>

#include<stdio.h>

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

double fun(char*s, char*t)

{

int s1=0,t1=0;

char *ss, *tt;

ss=s;

tt=t;

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

while(*ss)

{

s1++;

(*ss)++;

}

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

while(*tt)

{

t1++;

(*tt)++;

}

if(t1>s1)

return t;

else

return s;

}

main()

{

char a[80],b[80],*p,*q;

int i;

clrscr();

printf(“nEnter a string : “);

gets(a);

printf(“nEnter a string again : “);

gets(b);

printf(“nThe longer is :nn%sn”,fun(a,b));

}

评论列表
文章目录