如何在C语言中通过空格控制实现输入整数生成金字塔图形
实现居中金字塔星号图案的修改方案
要生成居中的金字塔图案,核心是在每一行星号输出前添加对应数量的空格,让星号部分整体居中。
修改思路
对于输入的整数n:
- 金字塔的总宽度为
2n-1(最后一行的星号数量) - 第
i行(从1开始计数):- 先输出
n - i个空格,用于左对齐占位 - 再输出
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
相关产品推荐
相关产品推荐

