C语言打印金字塔形状的*

img


我这行代码应该怎么修改caineng打印成金字塔形状的?现在是个直角三角形


int main() {
    int rows;

    printf("输入打印行数: \n");
    scanf("%d", &rows);

     int i, j, space;

    for (i = 1; i <= rows; i++) {
        for (space = 1; space <= rows - i; space++) {
            printf(" ");
        }
        for (j = 1; j <= 2 * i - 1; j++) {
            printf("*");
        }
        printf("\n");
    }

    return 0;
}

加一个循环打印空格
for(b=0;b<n-a;++b)
printf(" ");

【以下回答由 GPT 生成】

我可以帮助你修改这段代码,实现打印金字塔形状的*。下面是修改后的代码:

#include<stdio.h>
int main() {
    int n, a, b, space;
    scanf("%d", &n);
    space = n - 1;
    for (a = 1; a <= n; a++) {
        for (b = 1; b <= space; b++) {
            printf(" ");
        }
        space--;
        for (b = 1; b <= 2 * a - 1; b++) {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

修改后的代码在原来的代码基础上增加了一个变量space,用于控制每一行前面的空格数。在每一行开始前先打印space个空格,然后再打印星号()。每新的一行,space的值就减少1。这样就可以实现打印金字塔形状的


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^