原题链接:http://codeforces.com/problemset/problem/208/A
题意:很水的一道题;就是把串中的"WUB"换成' '(空格)输出;前导和后接空格不输出,两个词之间多个空格只输出一个;
代码:
1 #include<iostream> 2 #include<string> 3 #include<cstdio> 4 #include<cstring> 5 6 using namespace std; 7 8 9 int main() 10 { 11 int i,d=0,a=0; 12 char s[202],t[202]; 13 scanf("%s",s);//刚开始时使用的string但是在第17组数据时RE,很崩溃; 14 for(i=0; i<strlen(s); i++) 15 { 16 if(s[i]=='W'&&s[i+1]=='U'&&s[i+2]=='B'&&i<i<strlen(s)-2) 17 { 18 i+=2; 19 t[d++]=' '; 20 continue; 21 } 22 else 23 t[d++]=s[i]; 24 } 25 for(i=d-1;i>=0;i--)//去掉后接空格; 26 { 27 if(t[i]!=' ') 28 break; 29 } 30 d=i+1 31 for(i=0; i<d; i++) 32 { 33 if(a==0&&t[i]==' ') 34 continue; 35 if(t[i]!=' ') //去掉前接空格; 36 a=1; 37 if(t[i]==' '&&t[i-1]==' '&&i!=0) //两词间多个空格只输出一个; 38 continue; 39 cout<<t[i]; 40 } 41 cout<<endl; 42 return 0; 43 }
---------------------------------------欢迎指导和评论---------------------------------------