c语言编程给定你一个字符串s,C语言编程笔试题(第四十六套)

2015-10-20 06:30:02

阅读( 183 )

编程题:

32.请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。

例如,若s所指字符串中的内容为ABCDEFGl2345,其中字符A的ASCII码值虽为奇数,但所在元素的下标为偶数,因此必需删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是135。

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

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

#include

#include

#include

void fun(char *s, char t[])

{

}

main()

{

char  s[100], t[100];

clrscr();

printf(“\nPlease enter string S:”);

scanf(“%s”, s);

fun(s, t);

printf(“\nThe result is: %s\n”, t);

}

33.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。

例如,字符串中的内容为****A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容则应当是****A*BC*DEF*G****;若n的值为7,则字符串中的内容仍为  ****A*BC*DEF*G*******。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。

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

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

#include

#include

void fun(char *a,int n)

{

}

main()

{

char  s[81];

int  n;

printf(“Enter a string :\n”);

gets(s);

printf(“Enter n:  “);

scanf(“%d”,&n);

fun( s,n );

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

puts(s);

}

改错题:

77.下列给定程序中函数fun的功能是:将字符串中的内容按逆序输出,但不改变字符

串中的内容。例如,若字符串为abcd,则应输出dcba。

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

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

试题程序:

#include

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

fun(char a)

{

if(*a)

{

fun(a+1);

printf(“%c”,*a) ;

}

}

main( )

{

char s[10]=”abcd”;

printf(“s =%s\ns’=”, s);

fun(s);

printf(“\n”);

}

85.下列给定程序中,函数fun的功能是:从字符串s中删除所有小写字母’c’。

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

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

试题程序:

#include

void fun(char *s)

{

int  i,j;

for(i=j=0; s[i]!=’\0′; i++)

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

if(s[i]!=’c')

s[j]=s[i];

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

s[i]=’\0′;

}

main()

{

char  s[80];

printf(“Enter a string:    “);

gets(s);

printf(“The original string :”);

puts(s);

fun(s);

printf(“The string after deleted:”);

puts(s);

printf(“\n\n”);

}

分享给朋友:

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

您想查看更多的信息:

面试题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值