Ques:-8) If a number 972 is entered through the keyboard, your program should print “Nine Seven Two”. Write a program such that it does this for any positive integer.

				
					#include<stdio.h>
#include<conio.h>
void main()
{
int num,q,r,rn;
clrscr();
printf("\nEnter an integer number:");
scanf("%d",&num);
q=num;
rn=0;
while(q>0)
{
r=q%10;
rn=rn*10+r;
q=q/10;
}
while(rn>0)
{
r=rn%10;
switch(r)
{
case 1:printf("One\t");
       break;
case 2:printf("Two\t");
       break;
case 3:printf("Three\t");
       break;
case 4:printf("Four\t");
       break;
case 5:printf("Five\t");
       break;
case 6:printf("Six\t");
       break;
case 7:printf("Seven\t");
       break;
case 8:printf("Eight\t");
       break;
case 9:printf("Nine\t");
       break;
case 0:printf("Zero\t");
       break;
}
rn=rn/10;
}
getch();
}

				
			
				
					Enter an Integer Number : 98
Nine Eight
				
			

Another Example

				
					#include <stdio.h>

void printDigitInWords(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;
        default: printf("Invalid digit"); break;
    }
}

void printNumberInWords(int number) {
    // Handle 0 specifically since it is a single digit
    if (number == 0) {
        printDigitInWords(0);
        return;
    }

    // Determine the number of digits
    int reversedNumber = 0;
    int digitCount = 0;
    int originalNumber = number;

    // Reverse the number
    while (number > 0) {
        reversedNumber = reversedNumber * 10 + (number % 10);
        number /= 10;
        digitCount++;
    }

    // Print the digits in words by extracting digits from the reversed number
    for (int i = 0; i < digitCount; i++) {
        int digit = reversedNumber % 10;
        printDigitInWords(digit);
        reversedNumber /= 10;
    }
}

int main() {
    int number;
    printf("Enter a positive integer: ");
    scanf("%d", &number);

    if (number < 0) {
        printf("Please enter a positive integer.\n");
        return 1;
    }

    printNumberInWords(number);
    printf("\n");

    return 0;
}

				
			

Explanation:

  1. printDigitInWords Function:

    • This function takes a single digit (0-9) and prints its corresponding word.
  2. printNumberInWords Function:

    • This function handles the conversion of the entire number to its word form.
    • If the input number is 0, it directly prints “Zero”.
    • It reverses the input number to facilitate printing digits from left to right.
    • It then extracts each digit from the reversed number and prints its word representation using the printDigitInWords function.
  3. main Function:

    • It prompts the user to enter a positive integer.
    • If the input number is negative, it asks for a positive integer.
    • Calls printNumberInWords to print the number in words.

Usage:

  • Compile and run the program.
  • Enter a positive integer when prompted.
  • The program will print the digits of the number in words separated by spaces.
Scroll to Top