读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41648259/article/details/87806083

题目描述

读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。

输入描述:

每组用例占一行,包含ZOJ三个字符。
1<=length<=100。

输出描述:

对于每组输入,请输出一行,表示按照要求处理后的字符串。
具体可见样例。

示例1

输入

复制

ZZOOOJJJ

输出

复制

ZOJZOJOJ

#include<iostream>
#define MAXSIZE 7
using namespace std;
int main(){
    int res[3]={0};
    char c;
    while(c!='\n'){//获取某个字符
        c=getchar();
        if(c=='Z') res[0]++;
        if(c=='O') res[1]++;
        if(c=='J') res[2]++;
    }
    while(res[0]!=0||res[1]!=0||res[2]!=0){
            if(res[0]!=0){
                cout<<'Z';
                res[0]--;
            }
            if(res[1]!=0){
                cout<<'O';
                res[1]--;
            }
            if(res[2]!=0){
                cout<<'J';
                res[2]--;
            }
    }
    cout<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_41648259/article/details/87806083