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

求助!打印数字金字塔编程

小神女 发布于 2020-10-28 11:34, 1397 次点击
只有本站会员才能查看附件,请 登录
我感觉是空格出问题了,但是怎么修改都通过不了,有大佬能瞅一眼不
程序代码:

#include<stdio.h>
#include<math.h>
int main()
{
int i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++){
for(j=1;j<=2*(n-i);j++)
printf(" ");
   for(j=1;j<=i;j++)
      printf(" %d",j);

 
for(j=i-1;j>=1;j=j-1)
printf(" %d",j);
printf("\n");
}

return 0;
}

3 回复
#2
rjsp2020-10-28 12:23
你的输出每行前都有一个空格
#3
风过无痕19892020-11-02 13:41
回复 楼主 小神女
才看到你这个题目
程序代码:

#include<stdio.h>
int main()
{
    int i,j,k,n;
    scanf("%d", &n);

    for (k = 1;k <= n;k++)                  // 控制行
    {
        for (i = 1;i <= 2 * (n - k);i++)    // 控制每行前面的空格
        {
            printf(" ");
        }
        for (j = 1;j <= (2 * k - 1);j++)    // 控制每行输出的字符数
        {
            if (j < k)                      // 控制每行前半部分输出的字符
                printf("%d ",j);
            else                            // 控制每行后半部分输出的字符
                printf("%d ", (2 * k - j));
        }
        printf("\n");
    }

    return 0;
}
#4
小神女2020-11-03 21:39
回复 3楼 风过无痕1989
谢谢!!!
1