- 题目描述:
-
读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。
- 输入:
-
题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。
1<=length<=100。
- 输出:
-
对于每组输入,请输出一行,表示按照要求处理后的字符串。
具体可见样例。
- 样例输入:
-
ZZOOOJJJ ZZZZOOOOOJJJ ZOOOJJ E
- 样例输出:
-
ZOJZOJOJ ZOJZOJZOJZOO ZOJOJO
1 #include <iostream> 2 #include <string> 3 4 using namespace std; 5 6 int main() 7 { 8 string n; 9 int z,o,j,i,length; 10 while(cin>>n && n!="E") { 11 length = n.length(); 12 for(z=o=j=i=0; i<length; i++) 13 switch(n[i]) { 14 case 'Z': z++;break; 15 case 'O': o++;break; 16 case 'J': j++;break; 17 default : break; 18 } 19 while(z>0 || o>0 || j>0) { 20 if(z>0) cout<<'Z'; 21 if(o>0) cout<<'O'; 22 if(j>0) cout<<'J'; 23 z--;o--;j--; 24 } 25 cout<<endl; 26 } 27 return 0; 28 }