//读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。 #include<stdio.h> int main() { char a[100]; int Z = 0, O = 0, J = 0, i; scanf("%s", a); for (i = 0; i < strlen(a); i++) { if (a[i] == 'Z') Z++; if (a[i] == 'O') O++; if (a[i] == 'J') J++; } int len = strlen(a); while (len > 0) { //一共打印len个字符 //ZOJ 顺序 if (Z > 0) { printf("Z"); len--; Z--; } if (O > 0) { printf("O"); len--; O--; } if (J > 0) { len--; printf("J"); J--; } } return 0; }