数字三角阵
问题描述:按规律根据输入的整数 N,打印 N 行 N 列的数字三角阵。
输入:输入一个正整数 N (≤100)
输出:输出由数字 0~9构成的 N 行 N 列的数字三角矩阵:其中第一列有1个数,第二列有2个数,第 N 列有 N 个数,从上至下、从左至右依次蛇形排列,每个数字占用2个字符空间;整个数字三角阵,除必要的空格、数字、换行符,无多余符号,最后一行最后一个数字后无其他字符。
样例:
输入:
11
输出:

有人想直接运算得出三角阵每个位置是啥数\(\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");
}
}
浙公网安备 33010602011771号