chaoscodes @ 2021-04-12 19:21:25
为什么过不去,求助。
```c
#include<stdio.h>
int main(){
int bitNum;
scanf("%d",&bitNum);
char num[150];
getchar();
for(int i=0;i<bitNum;i++){
scanf("%c",&num[i]);
}//输入数值
char dotsRect[5][150][3];
for(int i=0;i<5;i++){
for(int j=0;j<bitNum;j++){
for(int k=0;k<3;k++){
dotsRect[i][j][k]='.';
}
}
}//初始化
for(int i=0;i<bitNum;i++){//接下来填充符号数组,填充第i个符号的3X5块
switch(num[i]-'0'){
case 0:{
dotsRect[0][i][0]='X';dotsRect[0][i][1]='X';dotsRect[0][i][2]='X';
dotsRect[1][i][0]='X';dotsRect[1][i][1]='.';dotsRect[1][i][2]='X';
dotsRect[2][i][0]='X';dotsRect[2][i][1]='.';dotsRect[2][i][2]='X';
dotsRect[3][i][0]='X';dotsRect[3][i][1]='.';dotsRect[3][i][2]='X';
dotsRect[4][i][0]='X';dotsRect[4][i][1]='X';dotsRect[4][i][2]='X';
}break;
case 1:{
dotsRect[0][i][0]='.';dotsRect[0][i][1]='.';dotsRect[0][i][2]='X';
dotsRect[1][i][0]='.';dotsRect[1][i][1]='.';dotsRect[1][i][2]='X';
dotsRect[2][i][0]='.';dotsRect[2][i][1]='.';dotsRect[2][i][2]='X';
dotsRect[3][i][0]='.';dotsRect[3][i][1]='.';dotsRect[3][i][2]='X';
dotsRect[4][i][0]='.';dotsRect[4][i][1]='.';dotsRect[4][i][2]='X';
}break;
case 2:{
dotsRect[0][i][0]='X';dotsRect[0][i][1]='X';dotsRect[0][i][2]='X';
dotsRect[1][i][0]='.';dotsRect[1][i][1]='.';dotsRect[1][i][2]='X';
dotsRect[2][i][0]='X';dotsRect[2][i][1]='X';dotsRect[2][i][2]='X';
dotsRect[3][i][0]='X';dotsRect[3][i][1]='.';dotsRect[3][i][2]='.';
dotsRect[4][i][0]='X';dotsRect[4][i][1]='X';dotsRect[4][i][2]='X';
}break;
case 3:{
dotsRect[0][i][0]='X';dotsRect[0][i][1]='X';dotsRect[0][i][2]='X';
dotsRect[1][i][0]='.';dotsRect[1][i][1]='.';dotsRect[1][i][2]='X';
dotsRect[2][i][0]='X';dotsRect[2][i][1]='X';dotsRect[2][i][2]='X';
dotsRect[3][i][0]='.';dotsRect[3][i][1]='.';dotsRect[3][i][2]='X';
dotsRect[4][i][0]='X';dotsRect[4][i][1]='X';dotsRect[4][i][2]='X';
}break;
case 4:{
dotsRect[0][i][0]='X';dotsRect[0][i][1]='.';dotsRect[0][i][2]='X';
dotsRect[1][i][0]='X';dotsRect[1][i][1]='.';dotsRect[1][i][2]='X';
dotsRect[2][i][0]='X';dotsRect[2][i][1]='X';dotsRect[2][i][2]='X';
dotsRect[3][i][0]='.';dotsRect[3][i][1]='.';dotsRect[3][i][2]='X';
dotsRect[4][i][0]='.';dotsRect[4][i][1]='.';dotsRect[4][i][2]='X';
}break;
case 5:{
dotsRect[0][i][0]='X';dotsRect[0][i][1]='X';dotsRect[0][i][2]='X';
dotsRect[1][i][0]='X';dotsRect[1][i][1]='.';dotsRect[1][i][2]='.';
dotsRect[2][i][0]='X';dotsRect[2][i][1]='X';dotsRect[2][i][2]='X';
dotsRect[3][i][0]='.';dotsRect[3][i][1]='.';dotsRect[3][i][2]='X';
dotsRect[4][i][0]='X';dotsRect[4][i][1]='X';dotsRect[4][i][2]='X';
}break;
case 6:{
dotsRect[0][i][0]='X';dotsRect[0][i][1]='X';dotsRect[0][i][2]='X';
dotsRect[1][i][0]='X';dotsRect[1][i][1]='.';dotsRect[1][i][2]='.';
dotsRect[2][i][0]='X';dotsRect[2][i][1]='X';dotsRect[2][i][2]='X';
dotsRect[3][i][0]='X';dotsRect[3][i][1]='.';dotsRect[3][i][2]='X';
dotsRect[4][i][0]='X';dotsRect[4][i][1]='X';dotsRect[4][i][2]='X';
}break;
case 7:{
dotsRect[0][i][0]='X';dotsRect[0][i][1]='X';dotsRect[0][i][2]='X';
dotsRect[1][i][0]='.';dotsRect[1][i][1]='.';dotsRect[1][i][2]='X';
dotsRect[2][i][0]='.';dotsRect[2][i][1]='.';dotsRect[2][i][2]='X';
dotsRect[3][i][0]='.';dotsRect[3][i][1]='.';dotsRect[3][i][2]='X';
dotsRect[4][i][0]='.';dotsRect[4][i][1]='.';dotsRect[4][i][2]='X';
}break;
case 8:{
dotsRect[0][i][0]='X';dotsRect[0][i][1]='X';dotsRect[0][i][2]='X';
dotsRect[1][i][0]='X';dotsRect[1][i][1]='.';dotsRect[1][i][2]='X';
dotsRect[2][i][0]='X';dotsRect[2][i][1]='X';dotsRect[2][i][2]='X';
dotsRect[3][i][0]='X';dotsRect[3][i][1]='.';dotsRect[3][i][2]='X';
dotsRect[4][i][0]='X';dotsRect[4][i][1]='X';dotsRect[4][i][2]='X';
}break;
case 9:{
dotsRect[0][i][0]='X';dotsRect[0][i][1]='X';dotsRect[0][i][2]='X';
dotsRect[1][i][0]='X';dotsRect[1][i][1]='.';dotsRect[1][i][2]='X';
dotsRect[2][i][0]='X';dotsRect[2][i][1]='X';dotsRect[2][i][2]='X';
dotsRect[3][i][0]='.';dotsRect[3][i][1]='.';dotsRect[3][i][2]='X';
dotsRect[4][i][0]='X';dotsRect[4][i][1]='X';dotsRect[4][i][2]='X';
}break;
}
}
for(int row=0;row<5;row++){
for(int i=0;i<bitNum;i++){
if(i!=0){
printf(".");
}
for(int line=0;line<3;line++){
printf("%c",dotsRect[row][i][line]);
}
}
printf("\n");
}//输出
by chaoscodes @ 2021-04-12 19:24:11
还有其中的scanf改成getchar也不行。。
by chaoscodes @ 2021-04-12 19:28:41
问题已解决。。其中回车输入是'\r\n',需要两个getchar()来抵消。。。