当前位置:网站首页 / 算法 / 正文

每天acm练习:蛇形矩阵

时间:2015年06月24日 | 作者 : lovean | 分类 : 算法 | 浏览: 2958次 | 评论 0

//解决的蛇形矩阵问题

//输入n=3
//输出
//781
//692
//543


#include<stdio.h>
int main(){
        int a[100][100];
        int n;//矩阵大小
        int i=0,j=0;
        int m=1;
        scanf("%d",&n);
        for(i=0;i<n;i++){
                for(j=0;j<n;j++){
                        a[i][j]=0;
                }
        }

        i=-1;
        j=n-1;
while(m<=n*n){
        //
        while(i<(n-1)&&a[i+1][j]==0){
                a[++i][j]=m++;
              printf("%d\n",a[i][j]);
        }

        while(j>0&&a[i][j-1]==0){
                a[i][--j]=m++;
                printf("%d\n",a[i][j]);
        }

        while(i>0&&a[i-1][j]==0){
                a[--i][j]=m++;
                printf("%d\n",a[i][j]);
        }

        while(j<n&&a[i][j+1]==0){
                a[i][++j]=m++;
                printf("%d\n",a[i][j]);
        }

}

//return 0;
for(i=0;i<n;i++){
        for(j=0;j<n;j++){
                printf("%5d",a[i][j]);
        }
        printf("\n");
}

return 0;
}



本站采用阿里云服务器,如果你也想使用阿里云服务器,可以点击领取代金券/优惠券



猜你喜欢

额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

友情链接