解题思路:
注意事项:
参考代码:#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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复