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;
}
相关推荐
Tisfy18 天前
LeetCode 3838.带权单词映射:求和、取模、拼接(附python一行版)
python·算法·leetcode·字符串·题解·模拟·取模
Tisfy23 天前
LeetCode 3689.最大子数组总值 I:What The Medium
算法·leetcode·题解·贪心·模拟·脑筋急转弯
Tisfy1 个月前
LeetCode 3300.替换为数位和以后的最小元素:一次遍历
数学·算法·leetcode·模拟
Tisfy2 个月前
LeetCode 2553.分割数组中数字的数位:模拟(maybe+翻转)——java也O(1)
java·数学·算法·leetcode·题解·模拟·取模
E等于MC平方2 个月前
AI 辅助物理课堂实验
人工智能·ai·大模型·模拟·物理·实验
Tisfy2 个月前
LeetCode 0796.旋转字符串:暴力模拟
算法·leetcode·题解·模拟·字符串匹配
Qres8212 个月前
Rabrg/artificial-life test
python·模拟
Tisfy2 个月前
LeetCode 0396.旋转函数:求diff
算法·leetcode·题解·模拟·增量法
Tisfy2 个月前
LeetCode 2833.距离原点最远的点:计数
算法·leetcode·字符串·题解·模拟·计数
浅念-2 个月前
LeetCode 模拟算法:用「还原过程」搞定编程题的入门钥匙
开发语言·c++·学习·算法·leetcode·职场和发展·模拟