Using arrays and modulus operator, a number can be converted into its digits; afterwards it can be written in reverse order or in digits, or in Words, as this post indicates.
First, the number is broken into parts, the last digit gets stored in the array at first, the process continues, until all of the digits are stored in the individual array elements. Once this is achieved, we initiate printing process which uses a multiple selection (switch case) statement that prints the word respective to the digit. See the code below for further clarification.
#include <stdio.h>
#include <stdlib.h>
#define LIMIT 150
int main()
{
int digits,number;
int components[LIMIT];
printf("\n\t\t *** DIGIT 2 WORD CONVERSION *** \n\n\n");
do { //Error Control
printf("\tPlease Enter number of Digits your number has : ");
scanf("%d",&digits);
} while (digits<0 && digits >=LIMIT);
// Assuming that the user inputs correct number of digits
printf("\tPlease Enter your number : ");
scanf("%d",&number);
// Seperating and Storing in an Array
for (int i=1; i<=digits; i++){
components[digits-i] = number%10;
number /= 10;
}
printf("\n\n\t\t ** WORD NOTATION ** \n\n\t");
for (int i=0; i<digits; i++){
switch(components[i]){
case 0:
printf("Zero ");
break;
case 1:
printf("One ");
break;
case 2:
printf("Two ");
break;
case 3:
printf("Three ");
break;
case 4:
printf("Four ");
break;
case 5:
printf("Five ");
break;
case 6:
printf("Six ");
break;
case 7:
printf("Seven ");
break;
case 8:
printf("Eight ");
break;
case 9:
printf("Nine ");
break;
default:
printf(" ");
}
}
printf("\n\n");
}
An instance of this program executed in Windows using Code::Blocks is shown below.
No comments:
Post a Comment