#include<iostream>
#include<cmath>
using namespace std;
int list[4]={1000000000,1000000,1000,100};
char s[4][10]={"billion","million","thousand","hundred"};
void read_1(int n)
{
switch(n)
{
case 1:cout<<"one ";break;
case 2:cout<<"two ";break;
case 3:cout<<"three ";break;
case 4:cout<<"four ";break;
case 5:cout<<"five ";break;
case 6:cout<<"six ";break;
case 7:cout<<"seven ";break;
case 8:cout<<"eight ";break;
case 9:cout<<"nine ";break;
case 10:cout<<"ten ";break;
case 11:cout<<"eleven ";break;
case 12:cout<<"twelve ";break;
case 13:cout<<"thirteen ";break;
case 14:cout<<"fourteen ";break;
case 15:cout<<"fifteen ";break;
case 16:cout<<"sixteen ";break;
case 17:cout<<"seventeen ";break;
case 18:cout<<"eighteen ";break;
case 19:cout<<"nineteen ";break;
default:break;
}
}
void read_10(int n)
{
int t=n/10;
if(t>1)
{
switch(t)
{
case 2:cout<<"twenty ";break;
case 3:cout<<"thirty ";break;
case 4:cout<<"forty ";break;
case 5:cout<<"fifty ";break;
case 6:cout<<"sixty ";break;
case 7:cout<<"seventy ";break;
case 8:cout<<"eighty ";break;
case 9:cout<<"ninty ";break;
}
n%=10;
read_1(n);
}
else read_1(n);
}
void Read(int n)
{
if(n<100)
{
read_10(n);return;
}
int i=0;
while(n>0&&i<4)
{
int t=n/list[i];
if(t>0)
{
Read(t);
cout<<s[i]<<" ";
}
n%=list[i];
i++;
}
if(i==4&&n>0)
{
cout<<"and ";
read_10(n);
}
return;
}
int main()
{
int n;
cin>>n;
Read(n);
return 0;
}
oj英文翻译
于 2024-05-21 13:10:02 首次发布