1.题目描述
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
例如,当输入5时,应该输出的三角形为:
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
2.源码实现
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int n = 0;
int i, j;
while(scanf("%d", &n) != EOF)
{
if(n <= 0 || n > 100)
{
continue;
}
for(i=0; i<n; i++)
{
for(j=0; j<n-i; j++)
{
printf("%d ", (j+i+1)*(j+i+2)/2-i);
}
printf("\n");
}
}
return 0;
}
2.编译源码
$ gcc -o example examle.c -std=c89
3.运行及其结果
$ ./example
6
1 3 6 10 15 21
2 5 9 14 20
4 8 13 19
7 12 18
11 17
16