刘家有


私信TA

用户名:2007020105

访问量:6570

签 名:

生活不止眼前的苟且,还有远方的苟且。

等  级
排  名 993
经  验 3374
参赛次数 3
文章发表 18
年  龄 0
在职情况 学生
学  校 博达
专  业

  自我简介:

解题思路:

注意事项:

参考代码:#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 人评分

  评论区

  • «
  • »