这个程序的功能是输出5*5魔方阵,请问错在哪了?
答案:2 悬赏:0 手机版
解决时间 2021-11-28 11:44
- 提问者网友:别再叽里呱啦
- 2021-11-28 08:02
这个程序的功能是输出5*5魔方阵,请问错在哪了?
最佳答案
- 五星知识达人网友:归鹤鸣
- 2021-11-28 08:35
少了头文件#include //printf等等用这个头文件
#include //getch()调用要这个
采纳哦追问我想要的结果是6应该往右走,可是你的结果6是往下走,请问应该怎么改?追答#define N 5
main()
{int a[N][N]={0},i=N/2,j=0,k;
for(k=1;k<=N*N;k++)
{a[i][j]=k;
i--;j--;
if(i<0&&j<0||a[i][j])
//你的程序当i或j为负数是a[i][j] ,不在你定义的数组内,是一个随机数,不可能为0
//也就是if中的条件是一直成立的
{i++;j+=2;}
else
{if(i<0) i=N-1;
if(j<0) j=N-1; }
}
for(i=0;i {for(j=0;j printf("%-3d",a[i][j]);
printf("\n");
}
getch();
}
#include
采纳哦追问我想要的结果是6应该往右走,可是你的结果6是往下走,请问应该怎么改?追答#define N 5
main()
{int a[N][N]={0},i=N/2,j=0,k;
for(k=1;k<=N*N;k++)
{a[i][j]=k;
i--;j--;
if(i<0&&j<0||a[i][j])
//你的程序当i或j为负数是a[i][j] ,不在你定义的数组内,是一个随机数,不可能为0
//也就是if中的条件是一直成立的
{i++;j+=2;}
else
{if(i<0) i=N-1;
if(j<0) j=N-1; }
}
for(i=0;i
printf("\n");
}
getch();
}
全部回答
- 1楼网友:底特律间谍
- 2021-11-28 09:15
#define N 5
main()
{int a[N][N]={0},i=N/2,j=0,k;
for(k=1;k<=N*N;k++)
{a[i][j]=k;
i--;j--;
if(k%N==0){j++;i+=2;if(i>=N)i-=N;}
if(i<0) i=N-1;
if(j<0) j=N-1;
}
for(i=0;i {for(j=0;j printf("%-3d",a[i][j]); printf("
"); } getch(); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯