蛇形矩阵,有人帮忙看看代码问题吗

#include<stdio.h>
int main(){
    int i,j,n,f=1;
    int a[n][n];
    scanf("%d",&n);
    for(i=0;i<n;i++){
          for(j=0;j<=i;j++){
            if(i%2==0)
                a[j][i-j]=f++;
            else
                a[i-j][j]=f++;
        }
        }
    int num=16;
    for(i=2*n-2;i>n-1;i--){
            int q=i-n+1;
            for(j=n-1;j>=q;j--){
            if(i%2==0)
                a[i-j][j]=num--;
            else
                a[j][i-j]=num--;
        }
        }
    for(i=0;i<n;i++){
        for(j=0;j<n;j++){
            printf("%-2d",a[i][j]);
            //printf("%d\n",a[2][0]);
            //printf("%d\n",a[2][1]);
            //printf("%d\n",a[2][2]);
            //printf("%d\n",a[2][3]);
        }
        printf("\n");
    }
}
不知道哪里出错了,出来的全都一样的数😕
全部评论
帮你改了下代码,这个可以通过此题:https://paste.ubuntu.com/p/dkdTv8Fx6r/ 原来最大的问题是 a 数组,不能这么开… 然后第二个循环的控制有些问题 其它都是对的
点赞 回复 分享
发布于 2021-07-17 18:06

相关推荐

头像
11-09 12:17
清华大学 C++
out11Man:小丑罢了,不用理会
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务