注册 登录
编程论坛 C语言论坛

输入n,就输出高度为n的镂空金字塔

yh3163 发布于 2022-01-28 08:26, 1617 次点击
各位大神,这题可以帮忙解一下吗?谢谢。
9 回复
#2
不会游泳的虾2022-01-28 09:32
供参考:
程序代码:
#include <stdio.h>
int main()
{
    int n, i, j;
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n - i; j++)
            printf(" ");
        for (j = 0; j <= i; j++)
            printf(i == n - 1 || j == i || j == 0 ? "* " : "  ");
        printf("\n");
    }
    return 0;
}
#3
yh31632022-01-29 12:23
请问第11行是什么意思,程序在这里出了问题
#4
不会游泳的虾2022-01-29 16:54
回复 3楼 yh3163
第11行是需要显示 '*' 的地方:j == 0  ,i == j ,i == n-1 ,让它输出: '*' ; 其它的地方输出空格:" " 。
上面的代码我在机器上运行成功的,你出现了什么样的错误,什么错误提示?

[此贴子已经被作者于2022-1-29 16:55编辑过]

#5
yh31632022-01-30 08:53
输入3,输出:
 *
**
  *
#6
不会游泳的虾2022-01-30 14:32
回复 5楼 yh3163
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2022-1-30 14:34编辑过]

#7
yh31632022-01-30 15:07
在xjoi只得了10分
#8
yh31632022-01-31 14:59
输入5,应输出:
    *
   * *
  * * *
 * * * *
* * * * *

[此贴子已经被作者于2022-1-31 15:16编辑过]

#9
不会游泳的虾2022-02-02 15:35
回复 8楼 yh3163
如果是这形式,上面的代码稍作修改即可,供参考:
程序代码:
#include <stdio.h>
int main()
{
    int n, i, j;
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n - i; j++)
            printf(" ");
        for (j = 0; j <= i; j++)
            printf("* ");
        printf("\n");
    }
    return 0;
}
#10
yh31632022-03-06 11:59
谢谢啊
1