C Program that receives a number and prints it out in large size


Given a number n in form of a string; the task is to print that following number in large using hash symbols.

Like we have provided a number “1234”

The representation of the following number should be −

Likewise we want our solution to be printed −

Example

Input: n[] = {“2234”}
Output:

Input: n[] = {“987”}
Output:

Approach we will be using to solve the given problem

  • Take at most 4 digit number a input in a string.
  • Make arrays of every number one by one the large pattern we want for the number.
  • Traverse the string and print every number one by one.

Algorithm

Start
   Step 1 -> Define Height as 7
   Step 2 -> Define W 8
   Step 3 -> In function int large(char num[])
      Declare variables i, j, k
      Set char zero[H][W]={" ##### ", // H=0
         " # # ",
         " # # ",
         " # # ",
         " # # ",
         " # # ",
         " ##### "},
      Set one[H][W]={" # ",
         " # ",
         " # ",
         " # ",
         " # ",
         " # ",
         " # "},
      Set two[H][W]={ " ##### ",
         " # ",
         " # ",
         " ##### ",
         " # ",
         " # ",
         " ##### "},
      Set three[H][W]={" ##### ",
         " # ",
         " # ",
         " ##### ",
         " # ",
         " # ",
         " ##### "},
      Set four[H][W]={" # ",
         " # # ",
         " # # ",
         " ##### ",
         " # ",
         " # ",
         " # "},
      Set five[H][W]={" ##### ",
         " # ",
         " # ",
         " ##### ",
         " # ",
         " # ",
         " ##### "},
      Set six[H][W]={ " ##### ",
         " # ",
         " # ",
         " ##### ",
         " # # ",
         " # # ",
         " ##### "},
      Set seven[H][W]={" ##### ",
         " # ",
         " # ",
         " # ",
         " # ",
         " # ",
         " # "},
      Set eight[H][W]={" ##### ",
         " # # ",
         " # # ",
         " ##### ",
         " # # ",
         " # # ",
         " ##### "},
      Set nine[H][W]={" ##### ",
         " # # ",
         " # # ",
         " ##### ",
         " # ",
         " # ",
         " # "}
      If strlen(num) > 10
         Print ”You must enter a number upto 10 digits”
      Else
         Print new line
         Set k=1
         Set j=0
         While k <= 7
            Loop For i=0 and i<strlen(num) and i++
               If num[i] == '0' then,
                  Print zero[j]
               Else If num[i] == '1’ then,
                  Print one[j]
               Else If num[i] == '2' then,
                  Print two[j]
               Else If num[i] == '3' then,
                  Print three[j]
               Else If num[i] == '4' then,
                  Print four[j]
               Else If num[i] == '5' then,
                  Print five[j]
               Else If num[i] == '6' then,
                  Print six[j]
               Else If num[i] == '7' then,
                  Print seven[j]
               Else If (num[i] == '8')
                  Print eight[j]
               Else If (num[i] == '9')
                  Print nine[j]
            End For
            Print newline
            Increment k by 1
            Increment j by 1
         End While
      End Else
   Step 4 -> Declare int main()
      Declare and initialize input char n[] = {"2168"}
      Call function large(n)
Stop

Example

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define H 7
#define W 8
int large(char num[]) {
   int i, j, k;
   // declaring char 2D arrays and initializing
   // with hash-printed digits
   char zero[H][W]={" ##### ", // H=0
      " # # ", // H=1
      " # # ", // H=2
      " # # ", // H=3
      " # # ", // H=4
      " # # ", // H=5
      " ##### "},// H=6
   one[H][W]={" # ",
      " # ",
      " # ",
      " # ",
      " # ",
      " # ",
      " # "},
   two[H][W]={ " ##### ",
      " # ",
      " # ",
      " ##### ",
      " # ",
      " # ",
      " ##### "},
   three[H][W]={" ##### ",
      " # ",
      " # ",
      " ##### ",
      " # ",
      " # ",
      " ##### "},
   four[H][W]={" # ",
      " # # ",
      " # # ",
      " ##### ",
      " # ",
      " # ",
      " # "},
   five[H][W]={" ##### ",
      " # ",
      " # ",
      " ##### ",
      " # ",
      " # ",
      " ##### "},
   six[H][W]={ " ##### ",
      " # ",
      " # ",
      " ##### ",
      " # # ",
      " # # ",
      " ##### "},
   seven[H][W]={" ##### ",
      " # ",
      " # ",
      " # ",
      " # ",
      " # ",
      " # "},
   eight[H][W]={" ##### ",
      " # # ",
      " # # ",
      " ##### ",
      " # # ",
      " # # ",
      " ##### "},
   nine[H][W]={" ##### ",
      " # # ",
      " # # ",
      " ##### ",
      " # ",
      " # ",
      " # "};
   if (strlen(num) > 10)
      printf("
You must enter a number upto 10 digits.
Try again!
");    else {       printf("
");       k=1;       j=0; //controls H of each digit       while (k <= 7) //controls height {          for (i=0; i<strlen(num); i++) //reads each digit {             if (num[i] == '0')                printf("%s", zero[j]);             else if (num[i] == '1')                printf("%s", one[j]);             else if (num[i] == '2')                printf("%s", two[j]);             else if (num[i] == '3')                printf("%s", three[j]);             else if (num[i] == '4')                printf("%s", four[j]);             else if (num[i] == '5')                printf("%s", five[j]);             else if (num[i] == '6')                printf("%s", six[j]);             else if (num[i] == '7')                printf("%s", seven[j]);             else if (num[i] == '8')                printf("%s", eight[j]);             else if (num[i] == '9')                printf("%s", nine[j]);          }          printf("
");          k++;          j++;       }    }    return 1; } //main fucntion int main() {    char n[] = {"2168"};    large(n);    return 0; }

Output

Updated on: 20-Nov-2019

232 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements