hi beloved coders all over the world i just want to have an extra help from you in creating a C program that will input a number in digit (up to millions) and output its word equivalent. Here's what i've got so far. The code below will output
its equivalent words from 0 to 100 but i need 101,102,etc up to millions to be outputted also. Can you help me continue with the code and if the code below has mistakes can you correct it. Thank you and regards.
#include
#include
main ()
{
char a[20];
char *single[] = {"Zero","One","two","three","four","five","six","seven","eight","nine"};
char *double_digit[] = {"","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"};
char *tens_place[] = {"","","twenty","thirty","fourty","fifty","sixty","seventy","eighty","ninety"};
char *hundred_place[] = {"","","","One hundred","two hundred","three hundred","four hundred","five hundred","six hundred","seven hundred","eight hundred","nine hundred"};
printf("Enter a number\n");
scanf("%s",a);
int len = strlen(a);
int num;
if(len == 1)
{ num = a[0] - 48;
printf("%s ",single[num]);
}
if(len ==2 && a[0] == 49)
{ num = (a[0] - 48) + (a[1]-48);
printf("%s ",double_digit[num]);
}
else if(len == 2 && a[1] == 48)
{
num = (a[0] - 48) + (a[1]-48);
printf("%s ",tens_place[num]);
}
else if(len == 2)
{
num = a[0] - 48;
printf("%s ",tens_place[num]);
num = a[1] - 48;
printf("%s ",single[num]);
}
else if(len == 3 && a[1] == 48)
{
num = (a[1] - 47 ) + (a[0]-47);
printf("%s ",hundred_place[num]);
}
else if(len == 3)
{
num = a[0] - 47;
printf("%s ",hundred_place[num]);
num = a[0] - 50 ;
printf("%s ",single[num]);
}
}
Extracted text: 3G 4G+ 1.70 9:52 PH) KB/s 10% pogi.c 1 #include 2 #include 3 main () 4 { char a[20]; char *single[] = {"Zero","One","two","three", four","five","six","seven","eight","nine"}; char *double_digit[] = {"","ten","eleven"," twelve","thirteen","fourteen","fifteen"," sixteen","seventeen","eighteen","nineteen"}; char *tens_place[] = {"","","twenty","thirty"," fourty","fifty","sixty","seventy","eighty"," ninety"}; char *hundred_place[] = {"","","","One hundred", "two hundred","three hundred","four hundred",' five hundred","six hundred","seven hundred",' eight hundred","nine hundred"}; printf("Enter a number\n"); scanf("%s",a); 5 7 8 9 10 11 12 13 int len = strlen(a); %3D 14 int num; if(len == 1) { num = a[0] - 48; printf("%s ",single[num]); } if(len ==2 && a[0] == 49) { num = (a[0] - 48) + (a[1]-48); printf("%s ",double_digit[num]); } else if(len == 2 && a[1] { 15 16 %3D 17 70S 18 19 20 21 22 23 48) 24 25 num = (a[0] - 48) + (a[1]-48); printf("%s ",tens_place[num]); } else if(len { 26 27 28 2) 29 a[0] - 48; printf("%s ",tens_place[num]); a[1] - 48; printf("%s ",single[num]); } else if(len == 3 && a[1] == 30 num = 31 32 num 33 34 35 48) Q Run
Extracted text: 3.00 10% KB/s 3G 4G+ 9:52 PH) pogi.c 34 else if(len == 3 && a[1] { num = (a[1] - 47 ) + (a[0]-47); printf("%s " } else if(len == 3) { num = a[0] 35 48) 36 37 38 ,hundred_place[num]); 39 40 41 = a[0] - 47; printf("%s ",hundred_place[num]); num = a[0] printf("%s ",single[num]); } } 42 43 44 - 50 ; %3D 45 46 47 48 Run