ZOJ

  • Post author:
  • Post category:其他


题目描述

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

输入描述:

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

输出描述:

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

示例1

输入

复制

ZZOOOJJJ

输出

复制

ZOJZOJOJ
#include <stdio.h>
#include <string.h>

/*
 * J 74
 * O 79
 * Z 90
 */
int main() {
    char array[110];
    int temp[110];
    while (EOF != scanf("%s", array)) {
        memset(temp, 0, sizeof(temp));
        for (int i = 0; i < strlen(array); ++i) {
            temp[array[i]]++;
        }
        while (temp['Z'] + temp['O'] + temp['J'] > 0) {
            if (temp['Z'] > 0) {
                printf("Z");
                temp['Z']--;
            }
            if (temp['O'] > 0) {
                printf("O");
                temp['O']--;
            }
            if (temp['J'] > 0) {
                printf("J");
                temp['J']--;
            }
        }
    }


    return 0;
}



版权声明:本文为diOSyu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。