C Program to Print Digits of a Number in English Words

  • Write a program in c to print digits of a number in words.

Given a positive number N, we have to print the digits of N in words in Most significant digit(MSD) to least significant digit(LSD) sequence.

For Example
Input Number : 2345
Output : Two Three Four Five

C program to print digits of a number in words

In this program, we first take a positive number as input from user using scanf function. Then we reverse the number as we want to print the most significant digits first(from leftmost digit to rightmost). After reversing, we remove rightmost digit one by one and pass it to “printDigit” function. Function “printDigit” that takes a positive number less than 10 as input and print it words using a switch statement.

C program to print digits of a number in words 1

#include<stdio.h>
#include<conio.h>  
 
void printDigit(int digit);
int main() {
    int reverse = 0, digit, num, mod;
    printf("Enter a positive Integer\n");
    scanf("%d", &num);
 
    /* reverse the input number */
    while (num > 0) {
        reverse = (reverse * 10) + num % 10;
        num /= 10;
    }
    num = reverse;
 
    while (num > 0) {
        digit = num % 10;
        printDigit(digit);
        num = num / 10;
    }
         
 getch();
    return 0;
}
 
void printDigit(int digit){
 switch (digit) {
        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;
    }
}

Program Output

Enter a positive Integer
2401
Two Four Zero One