接收数字并以大尺寸打印数字的C程序


给定一个以字符串形式表示的数字n;任务是用井号打印出以下大数字。

例如,我们提供了一个数字“1234”

以下数字的表示应为:

同样,我们希望我们的解决方案能够打印:

示例

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

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

我们将用来解决给定问题的方案

  • 以字符串形式输入最多4位数。
  • 分别为每个数字创建一个我们想要的数字的大型图案数组。
  • 遍历字符串并逐个打印每个数字。

算法

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

示例

#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; }

输出

更新于:2019年11月20日

312 次浏览

开启你的职业生涯

完成课程获得认证

开始
广告