哟吼


私信TA

用户名:uq_25397185839

访问量:379

签 名:

等  级
排  名 50603
经  验 248
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

字符串编辑
浏览:118

解题思路:swicth语句进行操作选项

注意事项:

参考代码:

#include<stdio.h>

#include<string.h>

void del(char *ch,char c){

int i,key;

for(i=0;*(ch+i)!='\0';i++)

if(*(ch+i)==c){

key=i;break;

}

for(i=key;*(ch+i)!='\0';i++)

*(ch+i)=*(ch+i+1);

}

void add(char *ch,char c,char r){

int i,key,len;

for(i=0;*(ch+i)!='\0';i++)

if(*(ch+i)==c){

key=i;           //利用key循环覆盖,来查找到最后一个符合要求的字母

}

len=i;

for(i=len;i>key;i--)

*(ch+i)=*(ch+i-1);

*(ch+key)=r;

*(ch+len+1)='\0';

}

void replace(char *ch,char c,char r){

int i;

for(i=0;*(ch+i)!='\0';i++)

if(*(ch+i)==c){

*(ch+i)=r;

}

}

int main()

{

char str[50],sel,ch,re;

gets(str);

scanf("%c %c",&sel,&ch);

if(sel != 'D')

scanf(" %c",&re);   //我的想法是:排除删除操作,其余可以输入需要添加或替换的字母!但我也不确定原理!如果有可以进一步修改,望告知,谢谢各位啦!

else

re = 0;

switch(sel){

case 'D': del(str,ch); break;

case 'I': add(str,ch,re);  break;

case 'R': replace(str,ch,re); break;

}

printf("%s\n",str);

return 0;

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区