首页 > 代码库 > 九度OJ-1032-ZOJ
九度OJ-1032-ZOJ
- 题目描述:
-
读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。
- 输入:
-
题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。
1<=length<=100。
- 输出:
-
对于每组输入,请输出一行,表示按照要求处理后的字符串。
具体可见样例。
- 样例输入:
-
ZZOOOJJJ ZZZZOOOOOJJJ ZOOOJJ E
- 样例输出:
-
ZOJZOJOJ ZOJZOJZOJZOO ZOJOJO
思路:
仅有Z、O、J三种字符,输出必须有序。可以扫描一次字符串后归入3种统计量中,然后循环输出。
过程:
1获取输入字符串,判定是否为‘E’,是则结束,否继续。
2扫描字符串,统计3种字符各自数量。
3按序循环输出,总字符数为0时停止,各字符统计量大于0时输出,每输出一次减一,直到为0不输出。
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 string a; 6 while(cin>>a) 7 { 8 if(a=="E") 9 return 0; 10 int z=0,o=0,j=0; 11 for(int i=0;i<a.length();i++) 12 { 13 if(a[i]==‘Z‘) 14 z++; 15 else if(a[i]==‘O‘) 16 o++; 17 else 18 j++; 19 } 20 while(z+o+j>0) 21 { 22 if(z>0) 23 { 24 cout<<‘Z‘; 25 z--; 26 } 27 if(o>0) 28 { 29 cout<<‘O‘; 30 o--; 31 } 32 if(j>0) 33 { 34 cout<<‘J‘; 35 j--; 36 } 37 } 38 cout<<endl; 39 } 40 }
九度OJ-1032-ZOJ
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。