• 蛇形填数


    蛇形填数

    描述

    在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:
    10   11  12  1
     9   16  13  2
     8   15  14  3
     7    6   5  4

    输入

    直接输入方阵的维数,即n的值。(n<=100)

    输出

    输出结果是蛇形方陈。

    样例输入

    3

    样例输出

    7 8 1

    6 9 2

    5 4 3

     

     1 #include<stdio.h>
     2 #include<string.h>
     3 #define manx 20
     4 int arr[manx][manx];
     5 int main()
     6 {
     7     int n = 0,temp = 1,x,y;
     8     scanf("%d",&n);
     9     memset(arr,0,sizeof(arr));
    10     x=0;y=n-1;
    11     arr[x][y] = 1;
    12     while(temp<n*n)
    13     {
    14         while(x<n-1&&!arr[x+1][y]) arr[++x][y] = ++temp;
    15         while(y>=1&&!arr[x][y-1]) arr[x][--y] = ++temp;
    16         while(x>=1&&!arr[x-1][y]) arr[--x][y] = ++temp;
    17         while(y<n-1&&!arr[x][y+1]) arr[x][++y] = ++temp;
    18     }
    19     for(int a=0;a<n;a++)
    20         for(int b=0;b<n;b++)
    21         {
    22             printf("%d",arr[a][b]);
    23             if(b!=n-1) printf(" ");
    24             else printf("
    ");
    25         }
    26     return 0;
    27 }

     

  • 相关阅读:
    Git使用方法
    设计模式之原型模式
    php基础查找算法
    php基础排序算法
    设计模式之工厂模式
    设计模式之代理模式
    设计模式之装饰者模式
    设计模式之六大原则
    设计模式之策略模式
    设计模式之简单工厂模式
  • 原文地址:https://www.cnblogs.com/yxh-amysear/p/7291353.html
Copyright © 2020-2023  润新知