Vjudge - F - 比前面更简单的模拟
2017-07-16 07:31:35
- writer:pprp
- 题目介绍:很基础的string用法
- 题目如下:
-
读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。Input题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。
1<=length<=100。
Output对于每组输入,请输出一行,表示按照要求处理后的字符串。
具体可见样例。Sample InputZZOOOJJJ ZZZZOOOOOJJJ ZOOOJJ E
Sample OutputZOJZOJOJ ZOJZOJZOJZOO ZOJOJO
- 代码如下:
-
#include <iostream> #include <string> using namespace std; int main() { string str; while(cin >> str&&str[0]!='E') { int cntz = 0; int cnto = 0; int cntj = 0; for(size_t i = 0 ; i < str.length() ;i++) { if(str[i] == 'Z') { cntz++; } else if(str[i] == 'O') { cnto++; } else { cntj++; } } for(size_t i = 0 ; i < str.length();i++) { if(cntz-->0) { cout <<"Z"; } if(cnto-->0) { cout <<"O"; } if(cntj-->0) { cout <<"J"; } } cout << endl; } return 0; }
- 运行结果:Accepted
代码改变世界