Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Print individual digits as words without using if or switch

  • Difficulty Level : Easy
  • Last Updated : 04 May, 2021

Given a number, print words for individual digits. It is not allowed to use if or switch.
Examples: 

Input:  n = 123
Output: One Two Three

Input:  n = 350
Output: Three Five Zero

We strongly recommend you to minimize your browser and try this yourself first. 
The idea is to use an array of strings to store digit to word mappings. Below are steps.
Let input number be n. 

Take a step-up from those "Hello World" programs. Learn to implement data structures like Heap, Stacks, Linked List and many more! Check out our Data Structures in C course to start learning today.
  1. Create an array of strings to store digit to word mapping.
  2. Create another array digits[] to store individual digits of n.
  3. Traverse digits of n and store them in digits[]. Note that standard way of traversal by repeated storing n%10 and doing n = n/10, traverses digits in reverse order.
  4. Traverse the digits array from end to beginning and print words using the mapping created in step 1.

Below is the implementation of above idea. 
 

C++




// C++ program to print individual words without if and
// without switch
#include <bits/stdc++.h>
using namespace std;
 
// To store digit to word mapping
char word[][10] = {"zero", "one", "two", "three","four",
                   "five", "six", "seven", "eight", "nine"};
 
void printWordsWithoutIfSwitch(int n)
{
    // Store individual digits
    int digits[10]; // a 32 bit int has at-most 10 digits
 
    int dc = 0; // Initialize digit count for given number 'n'
 
    // The below loop stores individual digits of n in
    // reverse order. do-while is used to handle "0" input
    do
    {
        digits[dc] = n%10;
        n = n/10;
        dc++;
    } while (n != 0);
 
    // Traverse individual digits and print words using
    // word[][]
    for (int i=dc-1; i>=0; i--)
       cout << word[digits[i]] << " ";
}
 
// Driver program
int main()
{
    int n = 350;
    printWordsWithoutIfSwitch(n);
    return 0;
}

Java




// Java program to print individual words without
//  if and without switch
class GFG
{
 
// To store digit to word mapping
static String word[] = {"zero", "one", "two", "three","four",
                "five", "six", "seven", "eight", "nine"};
 
static void printWordsWithoutIfSwitch(int n)
{
    // Store individual digits
    int digits[] = new int[10]; // a 32 bit int has at-most 10 digits
 
    int dc = 0; // Initialize digit count for given number 'n'
 
    // The below loop stores individual digits of n in
    // reverse order. do-while is used to handle "0" input
    do
    {
        digits[dc] = n % 10;
        n = n/10;
        dc++;
    } while (n != 0);
 
    // Traverse individual digits and print words using
    // word[][]
    for (int i = dc - 1; i >= 0; i--)
        System.out.print(word[digits[i]] + " ");
}
 
// Driver program
public static void main(String[] args)
{
    int n = 350;
    printWordsWithoutIfSwitch(n);
}
}
 
// This code has been contributed by 29AjayKumar

C#




// C# program to print individual words without
// if and without switch
using System;
 
class GFG
{
 
// To store digit to word mapping
static String []word = {"zero", "one", "two", "three","four",
                "five", "six", "seven", "eight", "nine"};
 
static void printWordsWithoutIfSwitch(int n)
{
    // Store individual digits
    int []digits = new int[10]; // a 32 bit int has at-most 10 digits
 
    int dc = 0; // Initialize digit count for given number 'n'
 
    // The below loop stores individual digits of n in
    // reverse order. do-while is used to handle "0" input
    do
    {
        digits[dc] = n % 10;
        n = n/10;
        dc++;
    } while (n != 0);
 
    // Traverse individual digits and print words using
    // word[][]
    for (int i = dc - 1; i >= 0; i--)
        Console.Write(word[digits[i]] + " ");
}
 
// Driver program
public static void Main(String[] args)
{
    int n = 350;
    printWordsWithoutIfSwitch(n);
}
}
 
// This code contributed by Rajput-Ji

Python3




# Python program to prindividual words without if and
# without switch
 
# To store digit to word mapping
word= ["zero", "one", "two", "three","four","five",
                "six", "seven", "eight", "nine"]
 
def printWordsWithoutIfSwitch(n):
 
    # Store individual digits
    digits = [0 for i in range(10)] # a 32 bit has at-most 10 digits
 
    dc = 0 # Initialize digit count for given number 'n'
 
    # The below loop stores individual digits of n in
    # reverse order. do-while is used to handle "0" input
    while True:
        digits[dc] = n%10
        n = n//10
        dc += 1
        if(n==0):
            break
 
    # Traverse individual digits and prwords using
    # word[][]
    for i in range(dc-1,-1,-1):
        print(word[digits[i]],end=" ")
 
# Driver program
n = 350
printWordsWithoutIfSwitch(n)
 
# This code is contributed by mohit kumar 29

Javascript




<script>
// Javascript program to print individual words without
//  if and without switch
     
    // To store digit to word mapping
    let word=["zero", "one", "two", "three","four",
                "five", "six", "seven", "eight", "nine"];
     
    function printWordsWithoutIfSwitch(n)
    {
     
        // Store individual digits
    let digits = new Array(10); // a 32 bit int has at-most 10 digits
   
    let dc = 0; // Initialize digit count for given number 'n'
   
    // The below loop stores individual digits of n in
    // reverse order. do-while is used to handle "0" input
    do
    {
        digits[dc] = n % 10;
        n = Math.floor(n/10);
        dc++;
    } while (n != 0);
   
    // Traverse individual digits and print words using
    // word[][]
    for (let i = dc - 1; i >= 0; i--)
        document.write(word[digits[i]] + " ");
    }
     
    // Driver program  
    let n = 350;
    printWordsWithoutIfSwitch(n);  
     
    // This code is contributed by unknown2108
</script>

Output:

Three Five Zero

Thanks to Utkarsh Trivedi for suggesting above solution.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
 




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!