oj--螺旋三角阵

    xiaoxiao2021-03-25  153

    题目描述

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

    输入

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

    输出

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

    样例输入

    3

    样例输出

    1 2 3 6 4 5       #include<stdio.h> int main() { int low,i,j,hi,N; int a[80][80]; while(scanf("%d",&N)) { if(N==0||N==1||N==2) break; low=0; hi=N; for(j=1; j<=N*(N+1)/2; low++,hi--) { //N行螺旋共有N*(N+1)/2个数 //采用的方法是将1~N*(N+1)/2依次填入到对应位置 for(i=low; i<hi-low; i++) a[low][i]=j++; for(i=low+1; i<hi-low; i++) a[i][hi-i-1]=j++; for(i=(hi-low)-2; i>low; i--) a[i][low]=j++; } for(i=0; i<N; i++) { for(j=0; j<N-i; j++) printf("M",a[i][j]); printf("\n"); } break; } return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-13413.html

    最新回复(0)