题目描述
方阵的主对角线之上称为“上三角”。
请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。
输入
程序运行时,从标准输入获得整数n(3~20)
输出
程序输出:方阵的上三角部分。
要求格式:每个数据宽度为4,右对齐。
样例输入
3
样例输出
1 2 3
6 4
5
参考代码
#include <stdio.h>
int main()
{
int N,a[20][20],i,j,low=0,hi;
scanf("%d",&N);
hi=N;
for (j=1;j<=N*(N+1)/2;low++,hi--)
{
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("%4d",a[i][j]);
printf("n");
}
return 0;
}
解析
暂无