Given an integer between 0 - 999,999, print an English sentence that describes the integer.
Given 1234, print out One Thousand, Two Hundred and Thirty Four.
print(int dig, int idx)
{
int dig_new[2]={0,0};
if(dig>20)
{
dig[0]=dig/10;
dig[1]=dig%10;
}
else dig[0]=dig;
for(int i=0;i<2;i++)
{
switch(dig[i])
{
case 1:
cout<<" one ";
break;
case 2:
cout<<" two ";
break;
...
}
}
if(idx==5||idx==2) cout<<" hundred ";
if(idx=3) cout<<" thousand ";
}
int get_range(int num)
{
if(num>100000)return 5;
if(num>10000)return 4;
if(num>1000)return 3;
if(num>100) return 2;
if(num>10) return 1;
if(num>0) return 0;
return -1;
}
bool foo(int num)
{
char str[100];
int idx=get_range(num);//999,999
while(idx>=0)
{
int dig=num/pow(10,idx);
print(dig,idx);
if(idx==5||idx==2)
idx--;
idx--;
}
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment