标题:大佬们新人求助
取消只看楼主
miop
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2021-9-8
结帖率:80%
已结贴  问题点数:10 回复次数:0 
大佬们新人求助
#include<stdio.h>
int main()
{
    int i,x,a,b,c,d,e,f,g,k,l,w,q,t,s,o,z;
    int n;
    scanf("%d",&n);
    int r[n][n];
    for(o=0;o<n;o++){
        for(z=0;z<n;z++){
            r[o][z]=0;
        }
    }
    a=(n-1)/2;
    b=a;
    i=0;
    r[a][b]=1;
    for(x=2,c=1,g=0;g<2*n;g++,i++){
        if(i%2==0){
            for(f=1;f<=c;f++){
                b=b+1;
                r[a][b]=x;
                x++;
            }
            for(e=1;e<=c;e++){
                a=a-1;
                r[a][b]=x;
                x++;
            }
            c++;
        }else{
            for(f=1;f<=c;f++){
                b=b-1;
                r[a][b]=x;
                x++;
            }
            for(e=1;e<=c;e++){
                a=a+1;
                r[a][b]=x;
                x++;
            }
            c++;
        }
    }
    k=0;l=0;
    while(k<n){
        if(k==n-1&&l==n-1){
            printf("%d\n",r[k][l]);
            goto end;
        }else{
        printf("%d ",r[k][l]);
    }
        if(l==n-1){
            putchar(10);
            k++;
            l=-1;
        }
        l++;
    }
    end:
    for(w=0,q=0;w<n;w++){
        q=q+r[w][w];
    }
    for(t=0,d=0,s=n-1;t<n;t++,s--){
        d=d+r[t][s];
    }
    printf("%d\n",d+q-1);
    return 0;
}
rt这是一个输出蛇形矩阵的代码 问题出在 我前面一部分是设置数组
后面是从1开始 2 3 蛇形增加 形成类似
5 4 3
6 1 2
7 8 9的结构
但是现在这个代码输出的数据很奇怪 找不到原因
求大佬们指教
搜索更多相关主题的帖子: c++ int printf for 输出 
2021-09-15 22:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-506868-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.612119 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved