九度OJ 题目1032:ZOJ
2015-08-06 21:00
253 查看
一题目描述:
读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。
输入:
题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。
1<=length<=100。
输出:
对于每组输入,请输出一行,表示按照要求处理后的字符串。 具体可见样例。
样例输入:
ZZOOOJJJ
ZZZZOOOOOJJJ
ZOOOJJ
E
样例输出:
ZOJZOJOJ
ZOJZOJZOJZOO
ZOJOJO
二.题目分析
注意按照字母顺序输出即可。
三.代码
读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。
输入:
题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。
1<=length<=100。
输出:
对于每组输入,请输出一行,表示按照要求处理后的字符串。 具体可见样例。
样例输入:
ZZOOOJJJ
ZZZZOOOOOJJJ
ZOOOJJ
E
样例输出:
ZOJZOJOJ
ZOJZOJZOJZOO
ZOJOJO
二.题目分析
注意按照字母顺序输出即可。
三.代码
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 110 int main() { int count[3],i; char str[MAX]; freopen("1032.txt","r",stdin); while(scanf("%s",str)&&str[0]!='E') { for(i=0;i<3;i++) count[i]=0; //input for(i=0;i<strlen(str);i++) { switch(str[i]) { case 'Z':count[0]++;break; case 'O':count[1]++;break; case 'J':count[2]++;break; default:break; } } //print while(count[0]||count[1]||count[2]) { if(count[0]) { printf("Z"); count[0]--; } if(count[1]) { printf("O"); count[1]--; } if(count[2]) { printf("J"); count[2]--; } } printf("\n"); } return 0; }
相关文章推荐
- 该离开了吗?
- 连续特征离散化的好处
- 读《数学之美》第三章 统计语言模型
- uwsgi 和 flask的使用
- Leetcode(58)题解:Length of Last Word
- 网页制作实践步骤四 结束
- java和javac编译运行java程序
- ios越狱开发随感
- opencv 读写XML YML
- Material Design设计规范
- 使用TFHpple第三方库解析html简介
- Linux的常用用法
- opencv 读写XML YML
- C语句
- 实战MVC
- java设计模式(7) - 代理模式
- mysql登录报错ERROR 1045 (28000) 的解决方法
- 工作中遇到的问题-1
- 图结构练习——最短路径 (Floyd算法)
- hdu 5363 Key Set (快速幂取模)