1082. Read Number in Chinese (25) PAT
来源:互联网 发布:php冒泡排序法 编辑:程序博客网 时间:2024/05/17 03:52
注意细节,比如大小写,零的处理,以及空格
#include<cstdio>#include<cstring>#include<iostream>#include<vector>#include<algorithm>#include<map>using namespace std;map<char,string>m;map<int,string>mm;int pp=0;string solve(string str){string tmp="";if(str.length()==1&&str[0]=='0'){return "ling";//测试点之一 }for(int i=0;i<str.length();i++){int ll=str.length()-i;if(str[i]=='0'){if((i<str.length()-1)&&str[i+1]!='0'){tmp+=" "+m['0'];continue;}else{continue;}}if(!pp){tmp+=m[str[i]];pp=1;}else{tmp+=" "+m[str[i]];}if(ll>1){tmp+=" "+mm[ll];}}return tmp;}int main(){m['0']="ling",m['1']="yi",m['2']="er",m['3']="san",m['4']="si",m['5']="wu",m['6']="liu",m['7']="qi",m['8']="ba",m['9']="jiu";mm[2]="Shi",mm[3]="Bai",mm[4]="Qian";string str;cin>>str;string ans="",str1="",str2="";int flag=0,i,j,k=0;if(str[0]=='-'){ans+="Fu";k=1;pp=1;}if((str.length()==9&&str[0]!='-')||(str.length()==10&&str[0]=='-')){if(str[0]=='-'){ans+=" "+m[str[1]]+" "+"Yi";}else{ans+=m[str[1]]+" "+"Yi";}if((str.length()==10&&str[0]=='-')){k=2;}pp=1;}for(i=str.length()-1,j=0;j<4&&i>=k;j++,i--);int temp=i;for(i++;i<str.length();i++){str1+=str[i];}for(j=k;j<=temp;j++){str2+=str[j];}ans+=solve(str2);//转换前四位(若存在) //cout<<str2<<endl;if(str2.length()>0){ans+=" Wan";}//cout<<str1<<endl;ans+=solve(str1);//转换后四位 cout<<ans<<endl;return 0;}
0 0
- PAT 1082. Read Number in Chinese (25)
- pat 1082. Read Number in Chinese (25)
- PAT 1082. Read Number in Chinese (25)
- PAT 1082. Read Number in Chinese(25)
- PAT 1082. Read Number in Chinese (25)
- 【PAT】1082. Read Number in Chinese (25)
- PAT:1082. Read Number in Chinese (25)
- 1082. Read Number in Chinese (25) PAT
- PAT 1082. Read Number in Chinese (25)
- PAT 1082. Read Number in Chinese
- 【PAT】1082. Read Number in Chinese
- PAT A.1082. Read Number in Chinese
- 【PAT】A1082. Read Number in Chinese (25)
- PAT A 1082. Read Number in Chinese (25)
- PAT(Advance) 1082. Read Number in Chinese (25)
- PAT-1082. Read Number in Chinese (25)(模拟)
- 1082. Read Number in Chinese (25)-PAT甲级真题
- 1082. Read Number in Chinese (25) PAT甲级
- 【日语本】
- afxwin.h 与stdafx.h
- Hibernate-Criteria查询(2)动态查询、排序、分页、连接查询、投影查询、聚合函数
- qt-tcp发送和接收识别
- JDK环境变量配置--ubuntu版
- 1082. Read Number in Chinese (25) PAT
- oracle表数据修复错误后恢复数据
- Finding a feasible course schedule using Tabu search(1)论文翻译
- ubuntu 14.04安装W311MA无线网卡驱动
- HTTPS与HTTP的区别
- 测试
- 搜狗输入法的分词算法
- redis集群删除节点
- 【数据结构】搜索二叉树的(递归与非递归)实现,包括:增Insert,删Remove,查Find