为啥我第二个大循环进行不了 只进行第一个循环 后面那个大循环以及后面内容都不运行了 调试的时候第二个大循环直接跳过为啥会有这种情况 应为switch中的break嘛?
按理说打出来应该是这个
对了 如果我一个一个数字输入 就是不用第一个循环把那一串数分开 一个一个输入数字 是可以运行的但我输入一串数字然后把他们分别拆开放入数组里就运行不了了
#include<stdio.h>
int main()
{
int i,j,w=0,l,n,arr[1001];
scanf("%d",&n);
scanf("%d",&l);
while(n)
{
w=l%10;
l/=10;
n--;
arr[n]=w;
}
for(i=1;i<=5;i++)
{
j=0;
for(j=0;j<n;j++)
{
if(i==1)
{
switch(arr[j])
{
case 4:printf("x.x");break;
case 0:case 2:case 3:case 5:case 6:case 7:case 8:case 9:printf("xxx");break;
default:printf("..x");break;
}
}
else if(i==2)
{
switch(arr[j])
{
case 0:case 4:case 8:case 9:printf("x.x");break;
case 5:case 6:printf("x..");break;
default:printf("..x");break;
}
}
else if(i==3)
{
switch(arr[j])
{
case 0:printf("x.x");break;
case 1:case 7:printf("..x");break;
default:printf("xxx");break;
}
}
else if(i==4)
{
switch(arr[j])
{
case 1:printf("..x");break;
case 0:case 6:case 8:printf("x.x");break;
case 2:printf("x..");break;
default:printf("..x");break;
}
}
else if(i==5)
{
switch(arr[j])
{
case 1:case 4:case 7:printf("..x");break;
default:printf("xxx");break;
}
}
if(j!=n-1)
{
printf(".");
}
}
printf("\n");
}
return 0;
}