【杭电】[3783]ZOJ

文章字数:121

问题描述

问题分析

思路是分别记录 ‘Z’ ‘O’ ‘J’ 的个数
然后有个数就按照ZOJ的顺序输出

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include<stdio.h>
#include<string.h>
int main() {
	char s[100];
	int i;
	int z,o,j;
	while(scanf("%s",s),s[0]!='E') {
		for(i=z=o=j=0; i<strlen(s); i++) {
			if(s[i]=='Z')
				z++;
			else if(s[i]=='O')
				o++;
			else if(s[i]=='J')
				j++;
		}
		for(i=0; i<strlen(s); i++) {
			if(z>0) {
				printf("Z");
				z--;
			}
			if(o>0) {
				printf("O");
				o--;
			}
			if(j>0) {
				printf("J");
				j--;
			}
		}
		printf("\n");
	}
	return 0;
}

该内容采用 CC BY-NC-SA 4.0 许可协议。

如果对您有帮助或存在意见建议,欢迎在下方评论交流。

加载中...