Pages

Friday, November 13, 2015

C Program to convert a no. into words

Program

#include<stdio.h>
#include<process.h>

void main()
{
char *single_digits[] = { "zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine"};
char *tens_multiple[] = {"", "", "twenty", "thirty", "forty", "fifty",
 "sixty", "seventy", "eighty", "ninety"};
  char *tens_power[] = {"hundred", "thousand"};
  int nos,temp,rem;
  int len=0;
  int arr[4];
  printf("enter max 4 digit no.");
  scanf("%d",&nos);
  temp=nos;

  while(temp!=0)
  {
rem=temp%10;
arr[len]=rem;

len++;
temp=temp/10;
  }

if (len == 1)
{
 printf("%s\n", single_digits[nos]);
 exit(0);
}

 while (len > 0)
 {
 /* Code for first 2 digits */
 if (len >= 3)
{
if (arr[len-1] > 0)
{
printf("%s ", single_digits[arr[len-1]]);
printf("%s ", tens_power[len-3]); // here len can be 3 or 4
}
--len;
 }

 /* Code path for last 2 digits */
 else
 {
printf("%s ",tens_multiple[arr[1]]);
printf("%s ", single_digits[arr[0]]);
exit(0);
}
 }

}

Output
enter max 4 digit no.9999
nine thousand nine hundred ninety nine

No comments:

Post a Comment