問題 1097: 蛇行矩陣
時間限制: 1Sec 內存限制: 64MB 提交: 6605 解決: 4385
題目描述
蛇形矩陣是由1開始的自然數依次排列成的一個矩陣上三角形。
輸入
本題有多組數據,每組數據由一個正整數N組成。(N不大於100)
輸出
對於每一組數據,輸出一個N行的蛇形矩陣。兩組輸出之間不要額外的空行。矩陣三角中同一行的數字用一個空格分開。行尾不要多餘的空格。
樣例輸入
5
樣例輸出
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
#include<stdio.h>
int main()
{
int n,i,j=1,a=2,h=0;
char f[100][100];
scanf("%d",&n);
f[0][0]=1;
for(i=1;i<n;i++)
{
f[0][i]=f[0][i-1]+(a++);
}
for(j=n-2;j>=0;j--)
{
h++;
for(i=0;i<=j;i++)
{
f[h][i]=f[h-1][i+1]-1;
}
}
h=-1;
for(i=n-1;i>=0;i--)
{ h++;
for(j=0;j<=i;j++)
{
printf("%d ",f[h][j]);
}
printf("\n");
}
}