题目标题:
蛇形矩阵2—双向生成
题目描述:
蛇形矩阵是从1开始的自然数依次排列成的一个矩阵上三角形。注意看样式输出。
输入描述:
矩阵的大小N(N<20)
输出描述:
输出一个蛇形矩阵,注意:每行行末没有空格,最后一行没有换行。
样式输入:
5
样式输出:
1 3 4 10 11
2 5 9 12
6 8 13
7 14
15
#include<stdio.h>
int a[100][100];
int main()
{
int i,j,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if((i+j)<n)
{
a[i][j]=(i+j)*(i+j+1)/2+1;
if((i+j)%2)
a[i][j]+=j;
else
a[i][j]+=i;
a[n-1-i][n-1-j]=n*n+1-a[i][j];
}
}
}
for(i=0;i<n-1;i++)
{
printf("%d",a[i][0]);
for(j=1;j<n-i;j++)
printf(" %d",a[i][j]);
putchar('\n');
}
printf("%d",a[n-1][0]);
return 0;
}
}