ACMZOJ

题目描述:
读入一个字符串,字符串中包含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 }

 

posted on 2013-03-10 23:02  Zachary_wiz  阅读(145)  评论(0编辑  收藏  举报

导航