Advertisement

浙江大学研究生复试上机真题——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)

还没有任何评论哟~