3663. 打印数字菱形
⭐️类型:模拟
📖题目链接:3663. 打印数字菱形
📚题目:

⭐️思路:
打印菱形题目:
1、首先分成 正三角形 和 倒三角形 打印;
2、找到 行号 与 空格数 、该行最大数 的关系,列出表达式 ;
3、按 行号、打印空格、打印0、打印数字、打印0 的顺序编写代码。

cpp
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
using namespace std;
int main() {
int n ;
scanf("%d", &n);
for (int i = 0;i <= n;i++) { // 控制行号
for (int j = 2 * n - 2 * i;j > 0;j--) { // 打印空格
printf(" ");
}
printf("0 "); // 打印开头0
if (i != 0) { // 打印每行数字部分
for (int k = 1;k <= i;k++) {
printf("%d ", k);
}
for (int k = i - 1;k > 0;k--) {
printf("%d ", k);
}
}
if (i != 0) { // 打印结尾0
printf("0 ");
}
printf("\n");
}
for (int i = 0;i <= n - 1;i++) {
for (int j = i * 2 + 2;j > 0;j--) {
printf(" ");
}
printf("0 ");
if (i != n - 1) {
for (int k = 1;k <= n - i -1;k++) {
printf("%d ", k);
}
for (int k = n - i -2;k > 0;k--) {
printf("%d ", k);
}
}
if (i != n - 1) {
printf("0 ");
}
printf("\n");
}
return 0;
}