数字三角阵

问题描述:按规律根据输入的整数 N,打印 N 行 N 列的数字三角阵。

输入:输入一个正整数 N (≤100)

输出:输出由数字 0~9构成的 N 行 N 列的数字三角矩阵:其中第一列有1个数,第二列有2个数,第 N 列有 N 个数,从上至下、从左至右依次蛇形排列,每个数字占用2个字符空间;整个数字三角阵,除必要的空格、数字、换行符,无多余符号,最后一行最后一个数字后无其他字符。

样例:

输入:

11

输出:

result

有人想直接运算得出三角阵每个位置是啥数\(\cdots\cdots\),这难度也忒生草了。建议尝试OEIS.

这道题显然是一道模拟。

我们跑两重循环,一重循环是第n列,第二重循环是赋值,由于是三角阵,所以第二重循环是j<=i

#include<stdio.h>
int ans[110][110];
int main(){
	int n, i, j, num = 1;
	scanf("%d", &n);
	for(i = 1; i <= n; i++)
		for(j = 1; j <= i; j++)
			ans[j][i] = num++;
	for(i = 1; i <= n; i++){
		for(j = 1; j <= n; j++){
			if(ans[i][j] == 0)
				printf("  ");
			else
				printf("%2d", ans[i][j]%10);
		}
		if(i != n)
		printf("\n");
	}
			
}
posted @ 2021-12-29 15:48  WangZerong  阅读(441)  评论(0)    收藏  举报