浙大PAT甲级 1082
来源:互联网 发布:java哪些字符需要转义 编辑:程序博客网 时间:2024/06/05 15:14
题目需注意0的情况。碰到0不输出,标记=1,碰到数如果标记为1,输出ling,再输出数,标记=0。
AC代码:
#include<iostream>#include<map>#include<cstdio>#include<algorithm>#include<queue>#include<cstring>#include<list>#include<set>#include<stack>#include<cmath>#include<vector>#define ll long long#define inf 999999999using namespace std;string ss[5]={"2","3","Shi","Bai","Qian"};string tmp[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};int main(){ string s; cin>>s; int flag=0; if(s[0]=='-') { printf("Fu"); flag=1; s.erase(0,1); } int len=s.size(); if(len<=4) { int hh=0; for(int i=0;i<len;i++) { if(flag==1) { if(s[i]=='0') { hh=1; } else { if(hh==1) { cout<<" ling"; hh=0; } cout<<" "<<tmp[s[i]-'0']; } } else { cout<<tmp[s[i]-'0']; flag=1; } if(len-i!=1&&hh!=1) { cout<<" "<<ss[len-i]; } } } else if(len>4&&len<=8) { int hh=0; for(int i=0;i<len-4;i++) { if(flag==1) { if(s[i]=='0') { hh=1; } else { if(hh==1) { cout<<" ling"; hh=0; } cout<<" "<<tmp[s[i]-'0']; } } else { cout<<tmp[s[i]-'0']; flag=1; } if(len-4-i!=1&&hh!=1) { cout<<" "<<ss[len-4-i]; } } cout<<" Wan"; hh=0; for(int i=len-4;i<len;i++) { if(flag==1) { if(s[i]=='0') { hh=1; } else { if(hh==1) { cout<<" ling"; hh=0; } cout<<" "<<tmp[s[i]-'0']; } } else { cout<<tmp[s[i]-'0']; flag=1; } if(len-i!=1&&hh!=1) { cout<<" "<<ss[len-i]; } } } else { if(flag==1) { cout<<" "<<tmp[s[0]-'0']; } else { cout<<tmp[s[0]-'0']; } cout<<" Yi"; flag=1; int hh=0; for(int i=len-8;i<len-4;i++) { if(flag==1) { if(s[i]=='0') { hh=1; } else { if(hh==1) { cout<<" ling"; hh=0; } cout<<" "<<tmp[s[i]-'0']; } } else { cout<<tmp[s[i]-'0']; flag=1; } if(len-4-i!=1&&hh!=1) { cout<<" "<<ss[len-4-i]; } } cout<<" Wan"; hh=0; for(int i=len-4;i<len;i++) { if(flag==1) { if(s[i]=='0') { hh=1; } else { if(hh==1) { cout<<" ling"; hh=0; } cout<<" "<<tmp[s[i]-'0']; } } else { cout<<tmp[s[i]-'0']; flag=1; } if(len-i!=1&&hh!=1) { cout<<" "<<ss[len-i]; } } }}
0 0
- 浙大PAT甲级 1082
- 浙大pat甲级 1023
- 浙大pat甲级 1024
- 浙大pat甲级 1025
- 浙大PAT甲级 1026
- 浙大PAT甲级 1028
- 浙大PAT甲级 1029
- 浙大PAT甲级 1030
- 浙大PAT甲级 1031
- 浙大PAT甲级 1032
- 浙大PAT甲级 1033
- 浙大PAT甲级 1035
- 浙大PAT甲级 1037
- 浙大PAT甲级 1039
- 浙大PAT甲级 1040
- 浙大PAT甲级 1038
- 浙大PAT甲级 1041
- 浙大PAT甲级 1042
- JavaScript中数字比较大小的问题
- js 页面上有五个checkbox按钮,以及一个textbox文本框。当勾选文本框时textbox文本框内的内容显示为当前勾选了几个checkbox,并且显示相应的checkbox文本内容。
- linux中fork()函数详解(转载!!实例讲解)
- android错误:Plugin is too old 解决方法
- 反向代理服务器
- 浙大PAT甲级 1082
- iOS中解析json数据
- Android 之 三级缓存(内存!!!、本地、网络)及内存LruCache扩展 及源码分析--- 学习和代码讲解
- 快照技术原理
- 抽象工厂——对象创建型模式
- freemarker常见语法大全
- 关于改变Google浏览器出现input输入框变黄色问题
- [SCOI2005]最大子矩阵
- Webspear 配置解决JSPG0049E配置问题