ให้ตัวเลข 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("\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; }
ผลลัพธ์