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;
}
相关推荐
Q741_14710 小时前
每日一题 力扣 3655. 区间乘法查询后的异或 II 模拟 分治 乘法差分法 快速幂 C++ 题解
c++·算法·leetcode·模拟·快速幂·分治·差分法
Q741_1472 天前
每日一题 力扣 3653. 区间乘法查询后的异或 I 模拟 数学 位运算 C++ 题解
c++·数学·算法·leetcode·力扣·模拟
Q741_1479 天前
每日一题 力扣 2751.机器人碰撞 映射 模拟 栈 C++ 题解
算法·leetcode·模拟··映射
A923A12 天前
【洛谷刷题 | 第七天】
算法·模拟·洛谷
浮白载笔的夜晚14 天前
【Virtuoso】PVT工艺角配置问题
学习·模拟·virtuoso
Q741_14714 天前
每日一题 力扣 2946. 循环移位后的矩阵相似检查 力扣 155. 最小栈 数学 数组 模拟 C++ 题解
c++·算法·leetcode·矩阵·模拟·数组·
Tisfy19 天前
LeetCode 1886.判断矩阵经轮转后是否一致:模拟
算法·leetcode·矩阵·题解·模拟
Tisfy20 天前
LeetCode 3643.垂直翻转子矩阵:原地修改
算法·leetcode·矩阵·模拟
Tisfy21 天前
LeetCode 3567.子矩阵的最小绝对差:暴力模拟
leetcode·矩阵·题解·模拟·暴力
Tisfy1 个月前
LeetCode 1415.长度为 n 的开心字符串中字典序第 k 小的字符串:DFS构造 / 数学O(n)
数学·算法·leetcode·深度优先·字符串·dfs·模拟