1161: 零起點學算法68——刪除字符(有問題)(已AC)


1161: 零起點學算法68——刪除字符

Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld
Submitted: 1412  Accepted: 479
[Submit][Status][Web Board]

Description

從鍵盤輸入任意一個字符串和一個字符,要求從該字符串中刪除所有該字符。

 

Input

 

輸入有多組測試數據。
每組兩行,第一行是字符串(字符串至少還有一個字符,不多於100個),第二行是一個字符

 

Output

每組輸出一行,刪除了所有應刪除字符后的字符串

 

Sample Input

 
ABCDE
E
ASD Dfg fhd
D

 

Sample Output

ABCD
AS fg fhd

 

Source

 
 
 1 #include<stdio.h>
 2 #include<string.h>
 3 int main(){
 4     char ch1[100],ch2[100];
 5     while(gets(ch1)!=NULL){
 6         char c;
 7         scanf("%c",&c);    
 8         getchar();
 9         int j=0;
10         for(int i=0;ch1[i]!='\0';i++){
11             if(ch1[i]!=c){
12                 ch2[j++]=ch1[i];
13             }
14         }
15         
16         puts(ch2);
17     }
18     return 0;
19 } 

 //AC代碼!

 1 #include<stdio.h>
 2 #include<string.h>
 3 int main(){
 4     char ch1[100];
 5     while(gets(ch1)!=NULL){
 6         char c;
 7         scanf("%c",&c);    
 8         getchar();
 9         for(int i=0;ch1[i]!='\0';i++){
10             if(ch1[i]==c){
11                 for(int j=i;ch1[j]!='\0';j++){
12                     ch1[j]=ch1[j+1];
13                 }
14                 i--;
15             }
16         }
17         
18         puts(ch1);
19     }
20     return 0;
21 }

思路就是 找到了就刪除 用后面的覆蓋前面的。 我也不知道第一種為什么出錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM