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;
}
相关推荐
吞下星星的少年·-·11 小时前
Div.3 CF 1131A题(排序,模拟)
算法·模拟·排序
重生之小比特2 天前
【算法拾光】模拟|提莫攻击 + N 字形变换
算法·模拟
Tisfy18 天前
LeetCode 2913.子数组不同元素数目的平方和 I:第一题先常数很大的O(n^2)
算法·leetcode·题解·模拟·暴力
Logic10119 天前
C语言/数据结构字符串题解:解压缩“字符+次数“格式——多位数字处理与字符串还原
c语言·数据结构·字符串·模拟·时间复杂度·空间复杂度·算法题
jyyyx的算法博客24 天前
机器人开箱子【贪心 + 模拟】
贪心·模拟
gjjwh2 个月前
【免费】9月和谐版XPlane12 12.4.3-r1免费下载
模拟
Logic1012 个月前
C语言/数据结构数组题解:数字列表加一(Plus One)——进位处理与数组扩展
c语言·数据结构·模拟·数组·时间复杂度·算法题·进位
Tisfy2 个月前
LeetCode 0836.矩形重叠:xy两方向分别看
数学·leetcode·题解·模拟
Tisfy2 个月前
LeetCode 3870.统计范围内的逗号:模拟 或 一步计算
数学·算法·leetcode·题解·模拟·遍历
Tisfy2 个月前
LeetCode 2058.找出临界点之间的最小和最大距离:遍历+遇到极值则更新(这种题谁空间复杂度不是O(1)啊)
linux·数据库·leetcode·链表·题解·模拟·遍历