学英语
来源:互联网 发布:阿里云飞天分布式系统 编辑:程序博客网 时间:2024/04/30 14:47
- #include <iostream>
- #include <string>
- using namespace std;
- string NUmberToEnglishString(long int number)
- {
- string s;
- if(number<0)
- {
- s="error";
- return s;
- }
- if(number<20)
- {
- switch (number)
- {
- case 0:
- s="zero";
- return s;
- case 1:
- s="one";
- return s;
- case 2:
- s="two";
- return s;
- case 3:
- s="three";
- return s;
- case 4:
- s="four";
- return s;
- case 5:
- s="five";
- return s;
- case 6:
- s="six";
- return s;
- case 7:
- s="seven";
- return s;
- case 8:
- s="eight";
- return s;
- case 9:
- s="nine";
- return s;
- case 10:
- s="ten";
- return s;
- case 11:
- s="eleven";
- return s;
- case 12:
- s="twelve";
- return s;
- case 13:
- s="thirteen";
- return s;
- case 14:
- s="fourteen";
- return s;
- case 15:
- s="fifteen";
- return s;
- case 16:
- s="sixteen";
- return s;
- case 17:
- s="seventeen";
- return s;
- case 18:
- s="eighteen";
- return s;
- case 19:
- s="nineteen";
- return s;
- default:
- s="error";
- return s;
- }
- }
- if(number<100) //21-99
- {
- if (number % 10 == 0) //20,30,40,...90的输出
- {
- switch (number)
- {
- case 20:
- s="twenty";
- return s;
- case 30:
- s="thirty";
- return s;
- case 40:
- s="forty";
- return s;
- case 50:
- s="fifty";
- return s;
- case 60:
- s="sixty";
- return s;
- case 70:
- s="seventy";
- return s;
- case 80:
- s="eighty";
- return s;
- case 90:
- s="ninety";
- return s;
- default:
- s="error";
- return s;
- }
- }
- else
- {
- s=NUmberToEnglishString(number/10*10)+' '+NUmberToEnglishString(number%10);
- return s;
- }
- }
- if(number<1000) //100-999
- {
- if(number%100==0)
- {
- s=NUmberToEnglishString(number/100)+" hundred";
- return s;
- }
- else
- {
- s=NUmberToEnglishString(number/100)+" hundred and "+NUmberToEnglishString(number%100);
- return s;
- }
- }
- if(number<1000000) //1000-999999 百万以下
- {
- if(number%1000==0)
- {
- s=NUmberToEnglishString(number/1000)+" thousand";
- return s;
- }
- else
- {
- s=NUmberToEnglishString(number/1000)+" thousand "+NUmberToEnglishString(number%1000);
- return s;
- }
- }
- if(number<1000000000) //十亿以下
- {
- if(number%1000000==0)
- {
- s=NUmberToEnglishString(number/1000000)+" million";
- return s;
- }
- else
- {
- s=NUmberToEnglishString(number/1000000)+" million "+NUmberToEnglishString(number%1000000);
- return s;
- }
- }
- if (number<9999999999) //十亿到99亿
- {
- if(number%1000000000==0)
- {
- s=NUmberToEnglishString(number/1000000000)+" billion";
- return s;
- }
- else
- {
- s=NUmberToEnglishString(number/1000000000)+" billion "+NUmberToEnglishString(number%1000000000);
- return s;
- }
- }
- if (number>9999999999)
- {
- s="error";
- return s;
- }
- }
- int main()
- {
- long int a;
- cin>>a;
- cout<<NUmberToEnglishString(a)<<endl;
- }
- 这道题就是一道神经病题。。。。。。欺负英语不好的人。。。。。只能在百位与十位之间加and。。。
0 0
- 学英语
- 学英语
- 学英语
- 学英语
- 学英语
- 学英语
- 学英语!
- 学英语
- 学英语
- 学英语
- 学英语
- 学英语
- 学英语
- 学英语
- 学英语
- 学英语
- 学英语
- 学英语啊学英语
- WebService 的工作原理
- Java实现拖拽上传(未测试)
- 提高项目44-为动态数组扩容
- Android实现签到日历控件
- 优化程序性能
- 学英语
- 代理http请求获取客户端IP
- hadoop2.x常用端口、定义方法及默认端口、hadoop1.X端口对比
- WebDriver打开firefox浏览器崩溃问题解决方法
- 批处理命令forfiles语法的实例详解
- 取得硬盘剩余空间的Java代码(未测试)
- CentOS7.2 安装postgresql数据库
- windows安装mysql5.7zip版方法
- c++ this指针