问题描述
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
例如,当输入5时,应该输出的三角形为:
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
输入描述:
输入正整数N(N不大于100)
输出描述:
输出一个N行的蛇形矩阵。
代码实现
#include<stdio.h> int main() { int arr[100][100] = { 0 }; int n; scanf("%d", &n); arr[0][0] = 1; int cln,row = 0; for (int i = 0; i < n; i++) { if (i != 0) { row = i; arr[i][0] += (row + arr[i - 1][0]); } printf("%d ", arr[i][0]); cln = row + 2; for (int j = 1; j < n - i; j++) { arr[i][j] += arr[i][j - 1] + cln; printf("%d ", arr[i][j]); cln++; } printf("\n"); } return 0; }