给定一个字符串形式的数字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("</p><p>You must enter a number upto 10 digits.</p><p>Try again!</p><p>");
else {
printf("</p><p>");
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("</p><p>");
k++;
j++;
}
}
return 1;
}
//main fucntion
int main() {
char n[] = {"2168"};
large(n);
return 0;
}