weixin_43783076
随心而舞
采纳率100%
2019-06-04 21:09

codeblocks C语言 蛇形填数问题,找不到错在哪

已采纳

蛇形填数,只考虑n<=8
我的代码如下

#include <stdio.h>
#include <string.h>
#define maxn 20

int a[maxn][maxn];

int main()
{
    int tot=0,x,y,n;
    scanf("%d",&n);
    memset(a,0,sizeof(a));
    tot=a[x=0][y=n-1]=1;
    while(tot<n*n)
    {
        while(x+1<n&&!a[x+1][y]) a[++x][y]=++tot;
        while(y-1>=0&&!a[x][y-1]) a[x][--y]==++tot;
        while(x-1>=0&&!a[x-1][y]) a[--x][y]==++tot;
        while(y+1<n&&!a[x][y+1]) a[x][++y]==++tot;
    }
    for(x=0;x<n;x++)
    {
        for(y=0;y<n;y++)
            printf("%3d",a[x][y]);
        printf("\n");
    }
    return 0; 
}

但是运行结果是这样的
图片说明
求教我的代码cuo'zai'na

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 2年前

    你把=写成了==
    修改下就好了

    图片说明

    问题如果得到解决,请点下我回答左上角的采纳,谢谢

    点赞 评论 复制链接分享