C 语言中,N 个星号连续,然后 N-1 个星号连续,依此类推

问题描述 投票:0回答:1

作为c初学者, 我正在尝试在 C 中连续执行 N 个星号(和 N 行)。

示例

n = 3

预期结果:

***
**
*

我尝试使用此代码

int main(void)
    int n;
    while (1) {
        printf("Please input a positive number\n");
        scanf(" %d", &n);
        if (n > 0) {
            break;
        }
    }
    for (int i = 1; n >= i; i++) {
        printf("*");
    }

我只在一行上完成了 N 星号,我如何更新我的代码以匹配预期的输出

c
1个回答
0
投票

正如@pmg所说,添加第二个循环来打印每一行可能是一个不错的选择

#include <stdio.h>

int main(void) {
    int n;
    while (1) {
        printf("Please input a positive number\n");
        scanf(" %d", &n);
        if (n > 0) {
            break;
        }
    }
    // Write N line
    for (int line = 0; line < n; line ++) {
        // In each lines write n - line asterisk
        for (int row = 0; row < n - line; row++) {
            printf("*");
        }
        // At the end of the line print the newline character
        printf("\n");
    }
    return 0;
}

n - line
是允许您在每行上执行 N-1 模式的部分。

如果可能的话,我建议您从索引 0 开始 for 循环。

我还建议您在 C 中搜索所需的循环,这里有 2 个示例:

© www.soinside.com 2019 - 2024. All rights reserved.