zoukankan      html  css  js  c++  java
  • 蛇形填数

    输入一个n

    输出n行n列

    eg:4

           1    2    3    4

           12  13  14  5

            11  16 15  6

            10   9   8   7

    代码:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int num[100][100];
    int main()
    {
        int n;
        while(~scanf("%d",&n))
        {
            int node=1;
            memset(num,0,sizeof(num));
            num[1][1]=1;
            int x=1;
            int y=1;
            while(node<n*n)
            {
                while(y+1<=n&&!num[x][y+1])
                {
                    y++;
                    num[x][y]=++node;
                }
                while(x+1<=n&&!num[x+1][y])
                {
                    x++;
                    num[x][y]=++node;
                }
                while(y-1>=1&&!num[x][y-1])
                {
                    y--;
                    num[x][y]=++node;
                }
                while(x-1>=1&&!num[x-1][y])
                {
                    x--;
                    num[x][y]=++node;
                }
            }
            for(int i=1;i<=n;i++)
            {
                for(int j=1;j<=n;j++)
                {
                    if(j==n)
                        printf("%d	",num[i][j]);  //实现右对齐可以加%-3d这样,我用的	
                    else
                        printf("%d	",num[i][j]);
                }
                printf("
    ");
            }
        }
        return 0;
    }
    我想要变得高一点,最好能伸手给你一片天。
  • 相关阅读:
    将execel表格的数据导入到mysql数据库
    清明听雨
    h5调用底层接口的一些知识
    微信小程序从零开始开发步骤(一)搭建开发环境
    Matplotlib
    Numpy
    pandas
    6 MapReduce的理解
    静态链表
    单链表
  • 原文地址:https://www.cnblogs.com/cattree/p/7465742.html
Copyright © 2011-2022 走看看