Code:
#include <stdio.h>
int main(void) {
int temp, num, count, R, sum[8],i, n[6], num1, timer = 0,w=0,x=0, reg[11], remainder, tempCount=0;
int value,value2, temp1,temp2,zero[6],temp_timer=0,p,zero_timer=0;
int digit[10] = {10,100,1000,10000,100000,1000000,10000000,100000000,1000000000};
char *word[11] = {"zero","one","two","three","four","five","six","seven","eight","nine"};
printf("Enter Number\n");
scanf("%d",&num); // input number
temp = num;
count = 0;
while (temp != 0)
{
temp = temp /10;
++tempCount;
printf("COUNT IS %d\n", tempCount);
}
temp = num;
temp1= num;
for( ; temp1 != 0; ) {
temp1 = temp1 + 1;
temp2 = temp1%10;
zero[temp_timer] = temp2 - 1;
temp1 = temp/10;
++zero_timer;
++temp_timer;}
printf("works here");
while(temp != 0)
{
R= temp%10;
temp = temp / 10;
n[w] = R;
sum[x] = n[w] * digit[tempCount];
++ w;
--tempCount;
++ timer;
++ x;
for( ; timer != 0; --timer) {
x = 0;
value = 0;
value2 = value + sum[x];
value = value2;
num1 = value2;
++ x; }
}
while(num1 !=0 && count < 10) //divides number and puts it in a special container
{
remainder =num1 % 10; //which prints the numbers that were broken
num1 = num1 / 10; //up into single digits to be printed into words
reg[count] = remainder; // base on reg
printf("reg[ %d ] is %d\n", count, reg[count]);
++count;
}
if(temp_timer > count ) {
for( p=zero_timer; p != 0; -- p) {
printf("%s", word[zero[p]]); } }
else
for(i=0; i<count; ++i) {
printf("%s",word[reg[i]]); }
}