程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> PAT 10-2 刪除字符串中的子串,pat10-2

PAT 10-2 刪除字符串中的子串,pat10-2

編輯:關於C語言

PAT 10-2 刪除字符串中的子串,pat10-2


今天發一個不完全對的代碼,後兩用例未通過,一時看不出問題在哪,切入正題

/*
2015/4/4
輸入2個字符串S1和S2,要求刪除字符串S1中出現的所有子串S2,即結果字符串中不能包含S2。 

 輸入格式: 

輸入在2行中分別給出不超過80個字符長度的、以回車結束的2個非空字符串,對應S1和S2。 

 輸出格式: 

在一行中輸出刪除字符串S1中出現的所有子串S2後的結果字符串。 
輸入樣例:Tomcat is a male ccatat
cat

輸出樣例:Tom is a male 
*/
#include <stdio.h>
#include <string.h>

int main()
{
    char S1[81], S2[81];

    gets(S1);
    gets(S2);

    char * p;
    int len;

    len = strlen(S2);
    p = strstr(S1, S2);
    while(p)
    {
        strcpy(p, p + len);
        p = strstr(S1, S2);
    }
    printf("%s\n", S1);

    return 0;
}

5日修改2次,我對比過一個通過的程序,是strcpy那裡不一樣,這裡為什麼不對?求教!!!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved