You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C语言中通过空格控制实现输入整数生成金字塔图形

实现居中金字塔星号图案的修改方案

要生成居中的金字塔图案,核心是在每一行星号输出前添加对应数量的空格,让星号部分整体居中。

修改思路

对于输入的整数n:

  • 金字塔的总宽度为2n-1(最后一行的星号数量)
  • 第i行(从1开始计数):
    1. 先输出n - i个空格,用于左对齐占位
    2. 再输出2i - 1个星号,保证每行星号数量逐行递增2

修改后的代码

#include <stdio.h>

int main() {
    int n, i, j;

    printf("Enter an integer: ");
    scanf("%d", &n);

    for (i = 1; i <= n; i++) {
        // 输出前置空格
        for (j = 1; j <= n - i; j++) {
            printf(" ");
        }
        // 输出星号
        for (j = 1; j <= 2*i - 1; j++) {
            printf("*");
        }
        printf("\n");
    }

    return 0;
}

效果示例

当输入n=5时,输出:

*
   ***
  *****
 *******
*********

内容的提问来源于stack exchange,提问作者Aelin_Galanthynius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 19:07:05