【杭电】[3783]ZOJ
思路是分别记录 ‘Z’ ‘O’ ‘J’ 的个数
然后有个数就按照ZOJ的顺序输出
#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;
}
题目地址:【杭电】[3783]ZOJ