题目描述
读入一个字符串,字符串中包含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 版权协议,转载请附上原文出处链接和本声明。