解题思路: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 人评分
C语言程序设计教程(第三版)课后习题8.3 (Java代码)浏览:1374 |
WU-蓝桥杯算法提高VIP-企业奖金发放 (C++代码)浏览:1176 |
WU-输出正反三角形 (C++代码)浏览:1021 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:591 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:561 |
母牛的故事 (C语言代码)浏览:945 |
1054题解浏览:467 |
IP判断 (C语言代码)浏览:539 |
数列排序 (C语言代码)浏览:617 |
小O的乘积 (C++代码)浏览:755 |