zoukankan      html  css  js  c++  java
  • 10-2. 删除字符串中的子串(20)

    输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。

    输入格式:

    输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。

    输出格式:

    在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。

    输入样例:

    Tomcat is a male ccatat
    cat
    

    输出样例:

    Tom is a male 
    
     1 #include <stdio.h>
     2 #include <string.h>
     3 #define N 80
     4 
     5 void del_str(char *str, char *s, char *resultstr)   //删除函数 
     6 {
     7     int i, j, resultstr_len, s_len;                 //resultstr_len为resultstr字符串的长度,s_str为s字符串的长度 
     8     s_len = strlen(s);
     9     strcpy(resultstr, str);                         //将str拷贝到resultstr 
    10     char *p;                                         
    11     p = strstr(resultstr, s);                       //p指向s在resultstr中出项的首字符 
    12     resultstr_len = strlen(resultstr);
    13 
    14     while(p != NULL) {                             
    15         for(i = p - resultstr; i < resultstr_len - s_len + 1; i++) {   
    16             resultstr[i] = resultstr[i + s_len];
    17         } 
    18         resultstr_len = strlen(resultstr);
    19         p = strstr(resultstr, s);
    20     }
    21 }
    22 
    23 int main()
    24 {
    25     char str[N+1], s[N+1], resultstr[N+1];     //str为第一个字符串,s为第二个字符串,resultstr为删除后的字符串 
    26     gets(str);
    27     gets(s);
    28     del_str(str, s, resultstr);                //删除函数 
    29     printf("%s
    ", resultstr);
    30     
    31     return 0;
    32 }
  • 相关阅读:
    Redis(二)
    Redis(一)
    MyBatis--一级二级缓存
    MySQL优化
    HashMap
    ArrayList
    常用框架注解说明
    Linux常用基础命令
    SpringCloud--gateway路由配置
    JetBrains系列软件的插件安装
  • 原文地址:https://www.cnblogs.com/aexin/p/3890141.html
Copyright © 2011-2022 走看看