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;
}
相关推荐
Tisfy2 天前
LeetCode 0396.旋转函数:求diff
算法·leetcode·题解·模拟·增量法
Tisfy9 天前
LeetCode 2833.距离原点最远的点:计数
算法·leetcode·字符串·题解·模拟·计数
浅念-9 天前
LeetCode 模拟算法:用「还原过程」搞定编程题的入门钥匙
开发语言·c++·学习·算法·leetcode·职场和发展·模拟
qeen8715 天前
【算法笔记】模拟与高精度加减乘除
c++·笔记·算法·高精度·模拟
Q741_14720 天前
每日一题 力扣 1848. 到目标元素的最小距离 模拟 C++题解
c++·算法·leetcode·模拟
Tisfy22 天前
LeetCode 3740.三个相等元素之间的最小距离 I:今日先暴力,“明日“再哈希
算法·leetcode·哈希算法·题解·模拟·遍历·暴力
Q741_14723 天前
每日一题 3740. 三个相等元素之间的最小距离 I 3741. 三个相等元素之间的最小距离 II 模拟 哈希表 C++ 题解
c++·算法·leetcode·模拟·数组·哈希表
Q741_14723 天前
每日一题 力扣 3655. 区间乘法查询后的异或 II 模拟 分治 乘法差分法 快速幂 C++ 题解
c++·算法·leetcode·模拟·快速幂·分治·差分法
Q741_14725 天前
每日一题 力扣 3653. 区间乘法查询后的异或 I 模拟 数学 位运算 C++ 题解
c++·数学·算法·leetcode·力扣·模拟
Q741_1471 个月前
每日一题 力扣 2751.机器人碰撞 映射 模拟 栈 C++ 题解
算法·leetcode·模拟··映射