输入一个正整数N,输出它的英文表达。[C语言]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输入一个正整数N,输出它的英文表达。[C语言]相关的知识,希望对你有一定的参考价值。
输入一个正整数N,输出它的英文表达。例如:输入1,输出one;输入12,输出twelve;输入135,输出one hundred thirty five……。编写程序实现之。
#include <iostream>#include<string>
#include <vector>
#include<sstream>
using namespace std;
using namespace std;
string digits[20]="",
"ONE","TWO", "THREE","FOUR","FIVE",
"SIX","SEVEN","EIGHT","NINE","TEN",
"ELEVEN", "TWELVE", "THIRTEEN", "FOURTEEN",
"FIFTEEN","SIXTEEN","SEVENTEEN","EIGHTEEN","NINETEEN"
;
string tens[10]="","",
"TWENTY","THIRTY","FORTY", "FIFTY","SIXTY","SEVENTY","EIGHTY","NINETY";
string hunds[10]="",
"ONE HUNDRED","TWO HUNDRED", "THREE HUNDRED","FOUR HUNDRED","FIVE HUNDRED",
"SIX HUNDRED","SEVEN HUNDRED","EIGHT HUNDRED","NINE HUNDRED"
;
int main()
int m;
double n;
while(cin>>n)
m=(int)n;
if(m<=1)
cout<<(m?"ONE":"ZERO");
else
int f1=0;
if(m!=0)
if(m/100>0)
cout<<hunds[(int)(m/100)];
f1=1;
m=m-(int)(m/100)*100;
if(m/10>1)
if(f1)
cout<<" ";
cout<<tens[(int)(m/10)];
m=m-(int)(m/10)*10;
if(m>0)
cout<<" "<<digits[m];
else
if(m>0)
if(f1)
cout<<" ";
cout<<digits[m];
else
cout<<"ZERO";
int cents = ((n+0.005)-(int)n)*100;
cout<<"\n";
return 0;
//范围是0-999 参考技术A 这样吧,我告诉你思想,编程我就不了。
1.你可以将一个整数N利用他对10的倍数进行取余,比1234,为1,2,3,4
2,最后,将整数N,的每一位按照从高们到低位放到一个数组中,然后利用swith语句对比,如果是1就给出one,2 tow,3,three,比如1234的每一位是从高位到低位1,2,3,4放入数组a中,.利用
for(i=0;i<N.length,i++)//a.length为整数N的位数
int num;
switch(num=a[i])
case 1:printlf("one");break;
case 2:printf("two);break;
........................
希望对你有帮助!
貌似我理解错你的意思了! 参考技术B ‘\t’是字符,是一个转义字符,转义字符很多,而且‘\t’还可以表示‘空白符’相当于8个空格;类似的还有,空格符,‘\r’,‘|n’,等都可以表示空白符,windows下的c语言‘\n’是回车与换行的综合,linux就是分开的
以上是关于输入一个正整数N,输出它的英文表达。[C语言]的主要内容,如果未能解决你的问题,请参考以下文章
C语言!!!!!!!!!!!由键盘输入一个正整数,判断该数是不是为平方数,是输出Y,否则输出N
c语言:计算并输出n,其中n是从键盘上输入的一个不大于10的正整数