首页 > 试题广场 >

蛇形矩阵2—双向生成

[问答题]

题目标题:

蛇形矩阵2—双向生成

题目描述:

蛇形矩阵是从1开始的自然数依次排列成的一个矩阵上三角形。注意看样式输出。

输入描述:

矩阵的大小NN<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;
}
}

发表于 2017-05-15 00:19:18 回复(0)