解题思路:

注意事项:

参考代码:#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.0分

4 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论