#include <stdio.h>
#include <string.h>
#include <conio.h>
void main(){
char init[27][12] = {" one "," two "," three ",
" four "," five "," six ",
" seven "," eight "," nine ",
" ten "," eleven "," twelve ",
" thirteen "," fourteen "," fifteen ",
" sixteen "," seventeen "," eighteen ",
" nineteen "," twenty "," thirty ",
" fourty "," fifty "," sixty ",
" seventy "," eight "," ninty "};
char sthou[20]="",shund[20]="",sval1[20]="",sval2[20]="",result[100]="";
int thou=0,hund=0,ten=0,temp=0,val1,val2,num,rem,c=0;
clrscr();
//USING COBOL LOGIC
printf("*****AMOUNT IN WORDS*****\n\n");
printf("Enter any value (upto 4 digits) : ");
scanf("%d",&num);
while(num>0){
rem = num%10;
c++;
if(c<=2)
temp = temp * 10 +rem;
elseif(c==3)
hund = rem;
elseif(c==4)
thou = rem;
num = num/10;
}
while(temp>0){ //as ten contains two digit so reverse it
rem = temp%10;
ten = ten * 10 + rem;
temp= temp/10;
}
if(thou>0){
strcpy(sthou,init[thou-1]);
strcat(sthou," thousand ");
strcat(result,sthou);
}
if(hund>0){
strcpy(shund,init[hund-1]);
strcat(shund," hundred ");
strcat(result,shund);
}
if(ten>0){
if(ten>20){
val1 = ten/10;
val2 = ten%10;
}
if(val1>0){
strcpy(sval1,init[val1+(18-1)]);
strcat(result,sval1);
}
if(val2>0){
strcpy(sval2,init[val2-1]);
strcat(result,sval2);
}
}
printf("\n\nAmount in word is as under \n");
printf("%s",result);
getch();
}