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

2015-11-20 06:30:05

阅读( 135 )

编程题:

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

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

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

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

#include

#include

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

#include

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 :%ld\n”, c);

}

改错题:

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

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

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

试题程序:

#include

#include

#include

/********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

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 : %s\n”, p) ;

}

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

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

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

试题程序:

#include

#include

/********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 :\n\n%s\n”,fun(a,b));

}

分享给朋友:

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息:

面试题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值