注册 登录
编程论坛 C语言论坛

小弟初来乍到,这个死循环怎么解?

隐藏, 发布于 2020-05-05 14:02, 1356 次点击
#include<stdio.h>
int main()
{int a[6][6]={0};
int l;
int i=0,j=0,m=1,e=0,k=1;
printf("请输入层数:");
scanf("%d",&l);
int n=4,h=4,z=25;
while(k!=z)
{   for(;((m%2==0)?(j>=e):(j<=n));((m%2==0)?(j--):(j++)))
                   {a[i][j]=k++;}
            if(m%2==0)
                {i--;e++;j++;}
            if(m%3==0&&m!=1)
                    h--;
                j--;i++;k++;
    for(;((m%2==0)?(i>=e):(i<=h));((m%2==0)?(i--):(i++)))
                    {a[i][j]=k++;}
            if(m%2==0)
                {n--;j++;i++;m++;}
            else {m++;i--;j--;}

}
for(i=0;i<5;i++)
    {for(j=0;j<5;j++)
    printf("%5d",a[i][j]);
printf("\n");
    }

}
主要是for循环里的三目运算符,求大佬指教
4 回复
#2
lin51616782020-05-05 14:24
题目呢?
首先你知道你的代码是错的
然后 你又不发题目
你让其他人怎么知道你的代码准备实现什么效果
#3
隐藏,2020-05-05 15:00
题目是:
1  2  3  4  5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
#4
纯蓝之刃2020-05-05 15:06
#5
nanshahyz2020-05-05 16:24
跳出循环,break
1