3663. 打印数字菱形

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;
}
相关推荐
Tisfy3 天前
LeetCode 3637.三段式数组 I:一次遍历(三种实现)
算法·leetcode·题解·模拟·数组·遍历·moines
-dzk-6 天前
【代码随想录】LC 59.螺旋矩阵 II
c++·线性代数·算法·矩阵·模拟
码农幻想梦9 天前
3476. WERTYU
模拟
码农幻想梦9 天前
3381. 手机键盘
模拟
码农幻想梦10 天前
KY110 日期差值
模拟
码农幻想梦11 天前
3426. 糖果分享游戏
模拟
码农幻想梦13 天前
KY24 剩下的树
模拟
ygklwyf13 天前
JPRS编程竞赛2026#1(AtCoder初学者竞赛442)
c++·算法·模拟
码农幻想梦15 天前
KY221 打印日期
开发语言·模拟
码农幻想梦15 天前
KY257 日期累加
模拟