九度1032
2016-07-22 21:37
411 查看
题目描述:
读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。
输入:
题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。
1<=length<=100。
输出:
对于每组输入,请输出一行,表示按照要求处理后的字符串。
具体可见样例。
样例输入:
样例输出:
比较简单的一道题,但是感觉自己写的好像过于繁琐了,最好想想可以简化的部分。不过题目本身难度较小,深挖的价值不大。
2016.07.26好吧 智障了 果然只要按照zoj的顺序输出就可以了 根本就不需要看谁最大啊!!如果输出完了 就不输出就是了啊!!!!
for(i = 0;i < ZCount || i < OCount || i < JCount;i++){
if(i < ZCount){
printf("Z");
}
if(i < OCount){
printf("O");
}
if(i < JCount){
printf("J");
}
}
之前写的傻乎乎的代码 什么鬼啊....走点脑子啊喂!
读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。
输入:
题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。
1<=length<=100。
输出:
对于每组输入,请输出一行,表示按照要求处理后的字符串。
具体可见样例。
样例输入:
ZZOOOJJJ ZZZZOOOOOJJJ ZOOOJJ E
样例输出:
ZOJZOJOJ ZOJZOJZOJZOO ZOJOJO
比较简单的一道题,但是感觉自己写的好像过于繁琐了,最好想想可以简化的部分。不过题目本身难度较小,深挖的价值不大。
2016.07.26好吧 智障了 果然只要按照zoj的顺序输出就可以了 根本就不需要看谁最大啊!!如果输出完了 就不输出就是了啊!!!!
for(i = 0;i < ZCount || i < OCount || i < JCount;i++){
if(i < ZCount){
printf("Z");
}
if(i < OCount){
printf("O");
}
if(i < JCount){
printf("J");
}
}
之前写的傻乎乎的代码 什么鬼啊....走点脑子啊喂!
#include<stdio.h> #include<iostream> using namespace std; int main() { char c; int Z_num, O_num, J_num; while ((c = getchar()) != 'E') { Z_num = 0; O_num = 0; J_num = 0; while (c != '\n') { if (c == 'Z' || c == 'z') { Z_num++; } else if (c == 'O' || c == 'o') { O_num++; } else //(c == 'J') { J_num++; } c = getchar(); } //输出 //比较大小 if (Z_num >= O_num) { if (Z_num > J_num) { //Z最大 //JO待定 if (J_num > O_num) { //Z>J>O for (int i = 0; i < O_num; i++) { cout << "ZOJ"; } for (int i = 0; i < (J_num - O_num); i++) { cout << "ZJ"; } for (int i = 0; i < (Z_num - J_num); i++) { cout << "Z"; } } else { //Z>O>J for (int i = 0; i < J_num; i++) { cout << "ZOJ"; } for (int i = 0; i < (O_num - J_num); i++) { cout << "ZO"; } for (int i = 0; i < (Z_num - O_num); i++) { cout << "Z"; } } } else { //J最大 //J>Z>O for (int i = 0; i < O_num; i++) { cout << "ZOJ"; } for (int i = 0; i < (Z_num - O_num); i++) { cout << "ZJ"; } for (int i = 0; i < (J_num - Z_num); i++) { cout << "J"; } } } else { if (O_num > J_num) { //O最大 //JZ待定 if (J_num > Z_num) { //O>J>Z for (int i = 0; i < Z_num; i++) { cout << "ZOJ"; } for (int i = 0; i < (J_num - Z_num); i++) { cout << "OJ"; } for (int i = 0; i < (O_num - J_num); i++) { cout << "O"; } } else { //O>Z>J for (int i = 0; i < J_num; i++) { cout << "ZOJ"; } for (int i = 0; i < (Z_num - J_num); i++) { cout << "ZO"; } for (int i = 0; i < (O_num - Z_num); i++) { cout << "O"; } } } else { //J最大 //J>O>Z for (int i = 0; i < Z_num; i++) { cout << "ZOJ"; } for (int i = 0; i < (O_num - Z_num); i++) { cout << "OJ"; } for (int i = 0; i < (J_num - O_num); i++) { cout << "J"; } } } cout << '\n'; } return 0; }
相关文章推荐
- 格点和最大公约数
- Android原生SQLite操作以及greenDao框架操作SQLite
- RecycleView添加HeaderView宽度不能撑满,第一次加载HeaderView的子控件获取不到焦点
- HDU 1312 DFS
- 前段性能优化
- 关于提高网站性能的几点建议(二)
- ajax基本知识
- Caused by: java.sql.BatchUpdateException: ORA-01438: 值大于为此列指定的允许精度如何解决
- C++中内存(堆和栈)
- 深度学习(四十一)cuda8.0+ubuntu16.04+theano、caffe、tensorflow环境搭建
- MAC 下用 Common Lisp 调试 OpenGL 程序
- hdu 5742 简单贪心
- Repair the Wall
- PHP语言建立数据库和数据表(完整版)
- 0722linux基础内容小记
- 从上往下打印二叉树
- BTree---------详谈
- DL学习笔记【4】caffe+win10+VS2013+cuda6.5+python安装过程
- 单链表
- 51NOD 1060 最复杂的数