jiang_wan_ 2023-09-23 19:06 采纳率: 50%
浏览 10

我自己编译器跑起来没问题,但交到洛谷上就有四个wa

我自己编译器跑起来没问题,但交到洛谷上就有四个wa

img


#include <stdio.h>

int main ()
{
    /*基本思路:
        1.先向右走,超出边界或遇见数字向下走 
        2.向下走……*/
        
    int n,i,j,k,count=1;
    int x=0,y=0;
    int sum=1;
    scanf ("%d",&n);
    int a[10][10]={0};
    a[0][0]=1;
    // 先向右走 
    while (sum <n*n){   //得让他填满,如果直走一圈,不行 
        while (a[y][x+1]==0 && x+1<n ){       //while 里面也可以放条件,代替if ,还能循环 
            count ++;
            x++; 
            sum++; 
            a[y][x]=count;
        }
        // 向下走 
        while (a[y+1][x]==0 && y+1<n){
            count++;
            sum++;
            y++;
            a[y][x]=count;
        }// 向左走 
        while (a[y][x-1]==0 && x-1>=0){
            count ++; 
            sum++;
            x--;
            a[y][x]=count; 
        }    // 向上走 
        while(a[y-1][x]==0 && y-1>=0){
            count ++; 
            sum++;
            y--;
            a[y][x]= count;
        }
    }
    for (j=0;j<n;j++){
        for (k=0;k<n;k++){
            printf ("%3d ",a[j][k]);
        }
    }
    return 0;
}
  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-09-23 19:24
    关注

    引用 皆我百晓生 小程序回复内容作答:

    根据你提供的代码,我注意到在向右走和向下走的循环中,你在更新矩阵元素时出现了错误。在向右走时,你应该更新a[y][x+1]而不是a[y][x+1]。同样,在向下走时,你应该更新a[y+1][x]而不是a[y+1][x]。在向左走和向上走的循环中也存在类似的错误。请修改这些错误并重新运行代码。

    评论

报告相同问题?

问题事件

  • 修改了问题 9月24日
  • 创建了问题 9月23日

悬赏问题

  • ¥15 pip install后修改模块路径,import失败,需要在哪里修改环境变量?
  • ¥15 爬取1-112页所有帖子的标题但是12页后要登录后才能 我使用selenium模拟登录 账号密码输入后 会报错 不知道怎么弄了
  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题