1043. 输出PATest(20)
2015-10-30 14:08
471 查看
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest....”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。
输入格式:
输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:
输出样例:
PATestPATestPTetPTePePee
------------------------华丽的分割线------------------------
分析:先把PATest这六个字母的个数都统计出来,然后按照顺序输出
代码:
输入格式:
输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:
redlesPayBestPATTopTeePHPereatitAPPT
输出样例:
PATestPATestPTetPTePePee
------------------------华丽的分割线------------------------
分析:先把PATest这六个字母的个数都统计出来,然后按照顺序输出
代码:
#include <stdio.h> #include <string.h> #define Maxn 100001 const char alpha[] = "PATest"; char input[Maxn]; int count[7]; int chartodec(char c); int main(void) { int length,i; int flag = 1; gets(input); length = strlen(input); for(i=0;i<length;++i) ++count[chartodec(input[i])]; while(flag) { flag = 0; for(i=0;i<6;++i) { if(count[i] > 0) { printf("%c",alpha[i]); --count[i]; flag = 1; } } } return 0; } int chartodec(char c) { int result; switch(c) { case 'P': result = 0; break; case 'A': result = 1; break; case 'T': result = 2; break; case 'e': result = 3; break; case 's': result = 4; break; case 't': result = 5; break; default: result = 6; break; } return result; }
相关文章推荐
- 安装Ubuntu后要做的事
- SSAS(分析服务)优化手册
- 内部类继承
- Android 签名机制,项目签名,ANT打包,优化,发布总结
- 浅谈XML 解析技术性能对比分析之 生成XML
- iOS9 升级设置
- Oracle 存储过程(procedure)和函数(Function)的区别(转载)
- Java网络编程--echo服务器
- Android:如何设置底部控件view随着软键盘的弹出而上移
- OOM原理分析
- iOS:点击按钮或者手势控制界面左右滑动
- 利用mysql的amoeba实现主从和读写分离
- JavaScript刷新页面
- Oracle序列
- 编译安卓源码问题汇集
- 1042. 字符统计(20)
- linux系统原语
- MYSQL开发性能研究——批量插入的优化措施
- Linux命令集锦
- 堵塞与非堵塞原理