九度oj 1032 ZOJ 2009年浙江大学计算机及软件工程研究生机试真题

题目1032:ZOJ

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:4102

解决:2277

题目描述:
读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。
输入:
题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。
1<=length<=100。
输出:
对于每组输入,请输出一行,表示按照要求处理后的字符串。
具体可见样例。
样例输入:
ZZOOOJJJ
ZZZZOOOOOJJJ
ZOOOJJ
E
样例输出:
ZOJZOJOJ
ZOJZOJZOJZOO
ZOJOJO
来源:
2009年浙江大学计算机及软件工程研究生机试真题
 1 //模拟
 2 
 3 #include <cstdio>
 4 #include<algorithm>
 5 #include<iostream>
 6 #include<string>
 7 #include<cstring>
 8 #include<vector>
 9 using namespace std;
10 int main(){
11     string s;
12     while(cin>>s&&s[0]!='E'){
13         int l,i=0,j=0,k=0;
14         int len=s.length();
15         for(l=0;l<len;l++){
16             if(s[l]=='Z'){
17                 i++;
18             }
19             else{
20                 if(s[l]=='O'){
21                     j++;
22                 }
23                 else{
24                     if(s[l]=='J'){
25                         k++;
26                     }
27                 }
28             }
29         }
30         while(i||j||k){
31             if(i){
32                 i--;
33                 cout<<'Z';
34             }
35             if(j){
36                 j--;
37                 cout<<'O';
38             }
39             if(k){
40                 k--;
41                 cout<<'J';
42             }
43         }
44         cout<<endl;
45         }
46     return 0;
47 }
View Code
原文地址:https://www.cnblogs.com/Deribs4/p/4292019.html