HDU1727——字符串处理
2010-02-23 10:57
411 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1727
注意:100和1000的处理。
注意:100和1000的处理。
#include<iostream> #include<string> using namespace std; const string strgDigital[20]={"zero","one","two","three","four","five","six","seven","eight","nine", "ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"}; const string strsDigital[10]={"","","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"}; int ch[6]; string strs; int main() { int T,i,len; while(cin>>T) { memset(ch,0,sizeof(ch)); strs=""; i=0; while(T!=0) { ch[i++] = T%10; T/=10; } len = i; if(ch[1]<=1) //后两位<20 { if(ch[0]==0&&ch[1]==0&&len>1) //排除后两位为00 {} else { strs=strgDigital[ch[1]*10+ch[0]]; } } else //后两位>=20 { strs=strsDigital[ch[1]]; if(ch[0]!=0) strs=strs+'-'+strgDigital[ch[0]]; } if(ch[2]!=0) { if(ch[0]==0&&ch[1]==0) //100 strs=strgDigital[ch[2]]+" hundred"; else strs=strgDigital[ch[2]]+" hundred and "+strs; } if(ch[3]!=0) { if(ch[0]==0&&ch[1]==0&&ch[2]==0) //1000 strs=strgDigital[ch[3]]+" thousand"; else strs=strgDigital[ch[3]]+" thousand and "+strs; } cout<<strs<<endl; } return 0; }
相关文章推荐
- HDU 1020 Encoding (字符串处理)
- 【W】HDU2206——字符串处理(IP计算)
- HDU 5414 CRB and String(字符串处理)——多校练习10
- HDU 5414(2015多校10)-CRB and String(字符串处理)
- hdu 2206IP的计算(sscanf的使用 & 字符串判断处理)
- HDU 2206 IP的计算(字符串处理)
- HDU 2089 数位dp/字符串处理 两种方法
- hdu 4119 Isabella's Message 【字符串处理】
- HDU 5083 Instruction(字符串处理)
- HDU 2203 亲和串 (想法题,字符串处理)
- HDU 2072 单词数(黑科技字符串处理)
- HDU 1048 字符串处理
- HDU - 4545 字符串处理
- hdu 1228 A+B【字符串处理】
- 【hdu】1664 different digits【搜索+字符串处理】
- HDU 5284 wyh2000 and a string problem——BestCoder Round #48(普通的字符串处理)
- HDU 1048 The Hardest Problem Ever(字符串处理)
- hdu 2265 Encoding The Diary (基础的字符串处理,巨简单)
- hdu 1062(字符串处理)
- 字符串处理 hdu 1048