浙江大学研究生复试上机真题——1975:ZOJ
发布时间
阅读量:
阅读量
1975:ZOJ分数: 2
时间限制:1 秒
内存限制:32 兆
特殊判题: 否
提交:4
解决: 3
标签
- 字符串处理
题目描述
输入一个字符串,在其中包含有Z、O、J三个字符(其数量不一)。我们需要依次按照Z→O→J的顺序进行处理。当某一特定字符耗尽时,则剩余部分仍需继续遵循Z→O→J的序列处理。
输入格式
题目前面有多组测试样例,在每一行中放置一个测试样例数据集合由三个字符ZOJ组成,在程序运行过程中遇到字符E时表示输入结束其中长度值介于1到100之间
输出
对于每组输入,请输出一行,表示按照要求处理后的字符串。
具体可见样例。
样例输入
ZZOOJJJ
ZOOOJJZOJ
ZZOJ
E
样例输出
ZOJZOJJ
ZOJZOJOJO
ZOJZ
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
int length,i,cz,co,cj;
while(getline(cin,str)){
if(str == "E")break;
cz=co=cj=0;
length = str.length();
for(i=0;i<length;++i){
if(str[i]=='Z')++cz;
else if(str[i]=='O')++co;
else ++cj;
}
while((cz!=0)||(co!=0)||(cj!=0)){
if(cz!=0){
cout<<"Z";
--cz;
}
if(co!=0){
cout<<"O";
--co;
}
if(cj!=0){
cout<<"J";
--cj;
}
}
cout<<endl;
}
return 0;
}
全部评论 (0)
还没有任何评论哟~
