zoukankan      html  css  js  c++  java
  • 三角螺旋阵 (代码)

    Problem Description

    方阵的主对角线之上称为“上三角”。
    请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。

    Input

    程序运行时,从标准输入获得整数n(3~20)

    Output

    程序输出:方阵的上三角部分。
    要求格式:每个数据宽度为4,右对齐。

    Sample Input

    3
    4
    5
    

    Sample Output

       1   2   3
       6   4
       5
       1   2   3   4
       9  10   5
       8   6
       7
       1   2   3   4   5
      12  13  14   6 
      11  15   7
      10   8
       9

    题解:题意很简单,就是像这个样例一样打印一个数字三角形,我是利用双重循环,外层控制大循环,内层设置三个循环,第一个循环控制从左往右,第二个循环控制从右上到左下,第三个循环控制从下往上,最后输出。

    #include<stdio.h>
    #include<string.h>
    #include<ctype.h>
    
    int line[30][30];
    int main ()
    {
        int i,j,n,m,num;
        memset(line,0,sizeof(line));
        while(~scanf("%d",&n)){
            memset(line,0,sizeof(line));
            for(i=0;i<30;i++)
                line[0][i]=line[i][0]=1;
            num=1;
            line[1][n+1]=1;
            for(i=1,j=0;num<=(n*n-n)/2+n;){
                while(line[i][j+1]==0){
                    line[i][++j]=num++;
                }
                while(line[i+1][j-1]==0){
                    line[++i][--j]=num++;
                }
                while(line[i-1][j]==0){
                    line[--i][j]=num++;
                }
            }
            for(i=1;i<=n;i++){
                for(j=1;j<=n+1-i;j++)
                    printf("%4d",line[i][j]);
                printf("
    ");
            }
        }
        return 0;
    }
    


  • 相关阅读:
    linux安装教程
    html学习
    vscode编程nodejs初始安装
    Python 字符串前面加u,r,b的含义
    vs code中自动添加注释插件koroFileHeader
    *args和**kwargs用法
    python中map函数的用法
    Python中虚拟环境venv的基本用法
    ubuntu下安装git提示无root权限
    git连接gitee笔记
  • 原文地址:https://www.cnblogs.com/lanaiwanqi/p/6684490.html
Copyright © 2011-2022 走看看