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

我的代码怎么改可以变成图二呢?

尔梦 发布于 2020-04-27 11:10, 2002 次点击
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录

#include <stdio.h>

void pyramid( int n );

int main()
{   
    int n;

    scanf("%d", &n);
    pyramid(n);

    return 0;
}
void pyramid( int n )
{
    int i,j,space;
    for(i=1;i<=n;i++)
    {
        space=n-1;
        for(j=0;j<space;j++)
        putchar(' ');
        for(j=0;j<i;j++)
        printf("%-2d",i);
        putchar('\n');
    }
}
4 回复
#2
lin51616782020-04-27 11:18
n-1 因为 n 不变
所以 space 不变
所以 前置空格个数不变
所以 左对齐

循环里面会变的是循环变量
把循环变量和空格个数联系起来就可以了
#3
吕孟伟2020-04-27 11:40
程序代码:
#include <stdio.h>

void pyramid( int n );

int main()
{   
    int n;

    scanf("%d", &n);
    pyramid(n);

    return 0;
}
void pyramid( int n )
{
    int i,j,space;
    for(i=1;i<=n;i++)
    {
        space=n;
        for(j=0;j<space-i;j++){
            putchar(' ');
        }
        for(j=0;j<i;j++){
            printf("%-2d",i);
            
        }
        putchar('\n');
        
        
    }
}


[此贴子已经被作者于2020-4-27 11:43编辑过]

#4
fulltimelink2020-04-27 13:04

space = n - i;
#5
新手7142020-04-27 18:02
怎么拿积分
1