C - 嵌套 for 循环模式

标签 c for-loop

如何获得像翻转弗洛伊德三角形那样的输出?解决这个问题的最佳方法是什么?

示例:

5555
_555
__55
___5

注意:_是一个空格

已经尝试了很多代码,但仍然无法得到这样的输出。

我的代码之一:

#include<stdio.h>

int main () {
    int a,b,c,n;
    scanf("%d",&n);
    for(a=1;a<=n;a++) {
        for(b=n;b>=a;b--) {
            printf(" ");
        }
        for(c=1;c<=a;c++) {
            printf("*");
        }
        printf("\n");
    }
}

最佳答案

这不是最好的方法...但代码与您发布的代码类似。

int main()
{
    int a, b, c, n;
    scanf("%d", &n);
    for (a = n; a > 0; a--)
    {
        for (b = n; b >= a; b--)
        {
            printf(" ");
        }
        for (c = 1; c <= a; c++)
        {
            printf("*");
        }
        printf("\n");
    }
}

在原来的帖子中,您的第一个 for 循环是

for(a=1;a<=n;a++)

这意味着第二个 for 循环将打印 n*space,第三个 for 循环将打印 1 颗星。 将第一个 for 循环更改为

for (a = n; a > 0; a--)

一切都会反转,因此第一个循环将不打印空格,最后一个循环将打印 n*stars。

关于C - 嵌套 for 循环模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46586177/

相关文章:

c - 数组声明,C

c++ - 使用 libuv 接收 UDP 数据包时如何知道目标地址和端口?

c - 是否需要关闭 systemv 消息队列

我可以从 pthread_self() 获取线程的堆栈地址吗

python - 如何获取行中的最后一个字符串,并将其插入到数组中?

c - 如何定义字符串数组的结尾

javascript - 循环内循环出现问题

javascript - 为什么 for 循环不起作用?

JavaScript:为 null/空对象数组赋值

JavaScript 将数据推送到数组