zoukankan      html  css  js  c++  java
  • c语言 蛇形填空

    //问题:在n*n方阵里填入1,2,3....n*n,要求填成蛇形 n<=8 (空格不用输出)
    //二维数组
    /*
    1  2  3  4  5
    16 17 18 19 6
    15 24 25 20 7
    14 23 22 21 8
    13 12 11 10 9
    */
    #include<stdio.h>
    #include<string.h>
    const int maxn=10;
    int a[maxn][maxn];
    int main(){
        //分别是横坐标,竖坐标
        int x,y,n,tot;
        //输入n
        scanf("%d",&n);
        //数组置零
        memset(a,0,sizeof(a));
        //第一行第一列的数赋值为1
        tot=a[x=0][y=0]=1;
        //printf("%d ",a[0][0]);
        while(tot<n*n){
            //从左向右 !a[x][y+1]) 是判断下个棋是否已经走过
            while(y+1<n&&!a[x][y+1])a[x][++y]= ++tot;
            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;
        }
        for(int i=0;i<n;i++){
           for(int j=0;j<n;j++){
                printf("%d",a[i][j]);
           }
           printf(" ");
        }
        return 0;
    }

  • 相关阅读:
    Vue常用特性-表单基本操作和表单修饰符
    Tab选项卡
    Vue模板语法
    Vue基本使用
    Vue概述
    Express框架
    模板引擎artTemplate
    MongoDB增删改查操作
    数据库概述及环境搭建
    请求响应原理及HTTP协议
  • 原文地址:https://www.cnblogs.com/qingtianBKY/p/6573917.html
Copyright © 2011-2022 走看看