输出三阶魔方阵 在语法上遇到了些问题 希望大家能够指导一下
出现的结果是无任何输出 我想假如语法那儿错了 至少会有输出 因为数组已经初始化了我的想法是:分别判断a[i][j]是否在第一行,是否在最后一列,是否在右上角,然后分别处理
是否是do while 语句 和continue 搭配有问题呢 希望大家指出 谢谢
程序
#include<stdio.h>
void main()
{int a[3][3]={0},i,j,m=1;
a[0][1]=1;
do
{
if(a[i+1][j+1]=0)
{
a[i+1][j+1]=a[i][j]+1;
i=i+1;j=j+1;
m++;//as least you should write three lines.
continue;
}
else if(a[i+1][j+1]<0||a[i][j]>9)
{
if(j==2&&i==0)
{
a[i-1][j]=a[i][j]+1;
i=i-1;j=j;
m++;
continue;
}
else if(j==2&&i!=0)
{
a[i-1][j-2]=a[i][j]+1;
i=i-1;j=j-2;
m++;
}
else if(j!=2&&i==0)
{
a[i+2][j+1]=a[i][j]+1;
i=i+2;j=j+1;
m++;
}
else if(a[i+1][j+1]>0&&a[i][j]<=9)
{
a[i-1][j]=a[i][j]+1;
i=i-1;
m++;
continue;
}
else
;
}
}while(m==8);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("% d",a[i][j]);
}
printf("\n");
}
printf("\n");
}