Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C ที่รับตัวเลขแล้วพิมพ์ออกมาเป็นขนาดใหญ่


ให้ตัวเลข n ในรูปแบบของสตริง; งานคือการพิมพ์ตัวเลขต่อไปนี้โดยใช้สัญลักษณ์แฮช

เช่นเดียวกับเราได้ให้หมายเลข “1234”

การแทนค่าของตัวเลขต่อไปนี้ควรเป็น −

โปรแกรม C ที่รับตัวเลขแล้วพิมพ์ออกมาเป็นขนาดใหญ่

ในทำนองเดียวกัน เราต้องการให้พิมพ์โซลูชันของเรา -

ตัวอย่าง

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

โปรแกรม C ที่รับตัวเลขแล้วพิมพ์ออกมาเป็นขนาดใหญ่

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

โปรแกรม C ที่รับตัวเลขแล้วพิมพ์ออกมาเป็นขนาดใหญ่

แนวทางที่เราจะใช้ในการแก้ปัญหาที่กำหนด

  • ป้อนตัวเลขในสตริงไม่เกิน 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("\nYou must enter a number upto 10 digits.\nTry again!\n");
   else {
      printf("\n");
      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("\n");
         k++;
         j++;
      }
   }
   return 1;
}
//main fucntion
int main() {
   char n[] = {"2168"};
   large(n);
   return 0;
}

ผลลัพธ์

โปรแกรม C ที่รับตัวเลขแล้วพิมพ์ออกมาเป็นขนาดใหญ่