解题思路:
注意事项:
参考代码:#include <stdio.h>
#include <stdlib.h>
#include<string.h>
void delete(char a[100],char a1)//写一个用于删除的函数
{ int pos=0;
int l=strlen(a);
for(int i=0;i<l;i++)
{
if(a[i]==a1)
{pos=1;
for(int j=i;j<l;j++)
{
a[j]=a[j+1];
}
a[l-1]=' ';
break;
}
}
if(pos==1)
{
puts(a);
}
else
{
puts("no exist");
}
}
void insert(char a[100],char a1,char a2)
{ int pos=0;
int l=strlen(a);
int k;//找到a1最后一次在数组中出现的位置
for(int i=0;i<l;i++)
{
if(a[i]==a1)
{pos=1;
k=i;
}
}//往后移动
for(int i=l-1;i>=k;i--)
{
a[i+1]=a[i];
}
a[k]=a2;
if(pos==1)
{
puts(a);
}
else
{
puts("no exist");
}
}
void replace(char a[100],char a1,char a2)
{ int pos=0;
int l=strlen(a);
for(int i=0;i<l;i++)
{
if(a[i]==a1)
{pos=1;
a[i]=a2;
}
}
if(pos==1)
{
puts(a);
}
else
{
puts("no exist");
}
}
int main()
{
char a[100];
gets(a);
int k=strlen(a);//用来统计长度
//先输入一个命令,再考虑要不要输入
char e;
scanf("%c",&e);
char a1,a2;
if(e=='D')//调用一个函数来删除
{
scanf(" %c",&a1);
delete(a,a1);
k=k-1;
}
if(e=='I')//调用一个函数来插入
{
scanf(" %c %c",&a1,&a2);
insert(a,a1,a2);
k=k+1;
}
if(e=='R')//调用·一个函数来替换
{
scanf(" %c %c",&a1,&a2);
replace(a,a1,a2);
}
}
0.0分
4 人评分