sevensky @ 2022-11-08 15:51:50
#include<stdio.h>
#include<stdlib.h>
int main() {
int n; scanf("%d ", &n);
char m[1001]={'\0'};
for (int i = 0; i < n; i++) {
scanf("%c", &m[i]);
}
char ans1[1000]={'\0'};
char ans2[1000]={'\0'};
char ans3[1000]={'\0'};
char ans4[1000]={'\0'};
char ans5[1000]={'\0'};
for (int i = 0; i < n; i++) {
switch (m[i]) {
case '0':ans1[3 * i] = 'X'; ans1[3 * i + 1] = 'X'; ans1[3 * i + 2] = 'X'; ans2[3 * i] += 'X'; ans2[3 * i + 1] += '.'; ans2[3 * i + 2] += 'X'; ans3[3 * i] += 'X'; ans3[3 * i + 1] += '.'; ans3[3 * i + 2] += 'X'; ans4[3 * i] += 'X'; ans4[3 * i + 1] += '.'; ans4[3 * i + 2] += 'X'; ans5[3 * i] = 'X'; ans5[3 * i + 1] = 'X'; ans5[3 * i + 2] = 'X';
case '1':ans1[3 * i] = '.'; ans1[3 * i + 1] = '.'; ans1[3 * i + 2] = 'X'; ans2[3 * i] += '.'; ans2[3 * i + 1] += '.'; ans2[3 * i + 2] += 'X'; ans3[3 * i] += '.'; ans3[3 * i + 1] += '.'; ans3[3 * i + 2] += 'X'; ans4[3 * i] += '.'; ans4[3 * i + 1] += '.'; ans4[3 * i + 2] += 'X'; ans5[3 * i] = 'X'; ans5[3 * i + 1] = 'X'; ans5[3 * i + 2] = 'X';
case '2':ans1[3 * i] = 'X'; ans1[3 * i + 1] = 'X'; ans1[3 * i + 2] = 'X'; ans2[3 * i] += '.'; ans2[3 * i + 1] += '.'; ans2[3 * i + 2] += 'X'; ans3[3 * i] += 'X'; ans3[3 * i + 1] += 'X'; ans3[3 * i + 2] += 'X'; ans4[3 * i] += 'X'; ans4[3 * i + 1] += '.'; ans4[3 * i + 2] += '.'; ans5[3 * i] = 'X'; ans5[3 * i + 1] = 'X'; ans5[3 * i + 2] = 'X';
case '3':ans1[3 * i] = 'X'; ans1[3 * i + 1] = 'X'; ans1[3 * i + 2] = 'X'; ans2[3 * i] += '.'; ans2[3 * i + 1] += '.'; ans2[3 * i + 2] += 'X'; ans3[3 * i] += 'X'; ans3[3 * i + 1] += 'X'; ans3[3 * i + 2] += 'X'; ans4[3 * i] += '.'; ans4[3 * i + 1] += '.'; ans4[3 * i + 2] += 'X'; ans5[3 * i] = 'X'; ans5[3 * i + 1] = 'X'; ans5[3 * i + 2] = 'X';
case '4':ans1[3 * i] = 'X'; ans1[3 * i + 1] = '.'; ans1[3 * i + 2] = 'X'; ans2[3 * i] += 'X'; ans2[3 * i + 1] += '.'; ans2[3 * i + 2] += 'X'; ans3[3 * i] += 'X'; ans3[3 * i + 1] += 'X'; ans3[3 * i + 2] += 'X'; ans4[3 * i] += '.'; ans4[3 * i + 1] += '.'; ans4[3 * i + 2] += 'X'; ans5[3 * i] = '.'; ans5[3 * i + 1] = '.'; ans5[3 * i + 2] = 'X';
case '5':ans1[3 * i] = 'X'; ans1[3 * i + 1] = 'X'; ans1[3 * i + 2] = 'X'; ans2[3 * i] += 'X'; ans2[3 * i + 1] += '.'; ans2[3 * i + 2] += '.'; ans3[3 * i] += 'X'; ans3[3 * i + 1] += 'X'; ans3[3 * i + 2] += 'X'; ans4[3 * i] += '.'; ans4[3 * i + 1] += '.'; ans4[3 * i + 2] += 'X'; ans5[3 * i] = 'X'; ans5[3 * i + 1] = 'X'; ans5[3 * i + 2] = 'X';
case '6':ans1[3 * i] = 'X'; ans1[3 * i + 1] = 'X'; ans1[3 * i + 2] = 'X'; ans2[3 * i] += 'X'; ans2[3 * i + 1] += '.'; ans2[3 * i + 2] += '.'; ans3[3 * i] += 'X'; ans3[3 * i + 1] += 'X'; ans3[3 * i + 2] += 'X'; ans4[3 * i] += 'X'; ans4[3 * i + 1] += '.'; ans4[3 * i + 2] += 'X'; ans5[3 * i] = 'X'; ans5[3 * i + 1] = 'X'; ans5[3 * i + 2] = 'X';
case '7':ans1[3 * i] = 'X'; ans1[3 * i + 1] = 'X'; ans1[3 * i + 2] = 'X'; ans2[3 * i] += '.'; ans2[3 * i + 1] += '.'; ans2[3 * i + 2] += 'X'; ans3[3 * i] += '.'; ans3[3 * i + 1] += '.'; ans3[3 * i + 2] += 'X'; ans4[3 * i] += '.'; ans4[3 * i + 1] += '.'; ans4[3 * i + 2] += 'X'; ans5[3 * i] = '.'; ans5[3 * i + 1] = '.'; ans5[3 * i + 2] = 'X';
case '8':ans1[3 * i] = 'X'; ans1[3 * i + 1] = 'X'; ans1[3 * i + 2] = 'X'; ans2[3 * i] += 'X'; ans2[3 * i + 1] += '.'; ans2[3 * i + 2] += 'X'; ans3[3 * i] += 'X'; ans3[3 * i + 1] += 'X'; ans3[3 * i + 2] += 'X'; ans4[3 * i] += 'X'; ans4[3 * i + 1] += '.'; ans4[3 * i + 2] += 'X'; ans5[3 * i] = 'X'; ans5[3 * i + 1] = 'X'; ans5[3 * i + 2] = 'X';
case '9':ans1[3 * i] = 'X'; ans1[3 * i + 1] = 'X'; ans1[3 * i + 2] = 'X'; ans2[3 * i] += 'X'; ans2[3 * i + 1] += '.'; ans2[3 * i + 2] += 'X'; ans3[3 * i] += 'X'; ans3[3 * i + 1] += 'X'; ans3[3 * i + 2] += 'X'; ans4[3 * i] += '.'; ans4[3 * i + 1] += '.'; ans4[3 * i + 2] += 'X'; ans5[3 * i] = '.'; ans5[3 * i + 1] = '.'; ans5[3 * i + 2] = 'X';
}
}
for (int i = 0; i < 3 * n; i++) {
printf("%c", ans1[i]);
}printf("\n");
for (int i = 0; i < 3 * n; i++) {
printf("%c", ans2[i]);
}printf("\n");
for (int i = 0; i < 3*n; i++) {
printf("%c", ans3[i]);
}printf("\n");
for (int i = 0; i < 3*n; i++) {
printf("%c", ans4[i]);
}printf("\n");
for (int i = 0; i < 3*n; i++) {
printf("%c", ans5[i]);
}printf("\n");
return 0;
}
by Ruiqun2009 @ 2022-11-08 15:52:35
@sevensky case
之后 break
了吗
by sevensky @ 2022-11-08 15:55:27
@Ruiqun2009 加了之后还是有问题
by Ruiqun2009 @ 2022-11-08 15:57:09
@sevensky 这样写比较烦,试着用更优的解法?
by sevensky @ 2022-11-08 15:58:05
@Ruiqun2009 我试着用了其他办法,但是我想知道这样的bug在哪
by InterN_NOT_FOUND @ 2022-11-08 15:59:11
@sevensky ans3[3 * i + 1] += '.'
这个改成 =
字符+字符是ASCII值的和,容易出乱码
by sevensky @ 2022-11-08 16:02:16
@InterN 这确实是个问题,但是还是有问题
by InterN_NOT_FOUND @ 2022-11-08 16:03:53
@sevensky 加上break,改成=,我这本地就不出乱码了,剩下的就是字符可能设错了
by InterN_NOT_FOUND @ 2022-11-08 16:05:03
把case里的所有+=
都换成=
by InterN_NOT_FOUND @ 2022-11-08 16:17:20
@sevensky 你的字符1
和9
写错了
另外你数字之间没有空行,加上就AC了
by sevensky @ 2022-11-08 16:17:47
@InterN 解决了谢谢,原因是中间少了间隔,谢谢