您的位置:首页 > 其它

HDU_3783 ZOJ

2014-07-26 09:20 375 查看

ZOJ

[align=left]Problem Description[/align]
读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。
 
[align=left]Input[/align]
题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。

1<=length<=100。

 
[align=left]Output[/align]
对于每组输入,请输出一行,表示按照要求处理后的字符串。

具体可见样例。
 
[align=left]Sample Input[/align]

ZZOOOJJJ
ZZZZOOOOOJJJ
ZOOOJJ
E

 
[align=left]Sample Output[/align]

ZOJZOJOJ
ZOJZOJZOJZOO
ZOJOJO

 
#include<stdio.h>

#include<string.h>   //注意strlen的头文件

int main()

{

    char s[107];

    int i,len ,a,b,c;

    while(scanf("%s",s),s[0]!='E')

    {

       a=b=c=0;

       len=strlen(s);

       for(i=0;i<len;i++)

       {

          if(s[i]=='Z')  a++;

          else if(s[i]=='O')  b++;

          else if(s[i]=='J')  c++;

       }

       for(i=0;i<len;i++)   //循环得次数比较多,但是当a,b,c没值得时候,只把i循环完就可以了

       {

          if(a)  {printf("Z"); a--;}

          if(b)  {printf("O"); b--;}

          if(c)  {printf("J"); c--;}

       }

       printf("\n");

    }

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: