狂野的小黄花 发表于 2019-12-17 17:25:53

输出的前后的空格要怎么消掉

做了好多题都是因为不会消空格而错误,大佬救救我吧{:10_266:}
比如下面这题空格放前边就会前边有放后边就会后边有
然后我用
if(i!=0)
printf("%d ",i);
else
printf("%d",i);
也不好使
拜托了大佬们!!

#include <stdio.h>

int main()
{
        int n,i,j,k;
        scanf("%d",&n);
        for(i=1;i<=n;i++)
        {
                for(j=n-i;j>0;j--)
                printf(" ");
                for(k=1;k<=i;k++)
                {
                        if(i!=0)
                        printf(" ");
                        printf("%d",i);
                }
                printf("\n");
        }
        return 0;
}

x.ha 发表于 2019-12-17 17:25:54

本帖最后由 x.ha 于 2019-12-17 17:59 编辑

#include <stdio.h>

int main()
{
      int n,i,j,k;
      scanf("%d",&n);
      for(i=1;i<=n;i++)
      {
                for(j=n-i;j>0;j--)
                printf(" ");
                for(k=1;k<i;k++)
                {
                     printf("%d ",i);
                }
                        printf("%d",i);
                printf("\n");
      }
      return 0;
}

狂野的小黄花 发表于 2019-12-17 17:27:18

上面那题是输一个数字然后形成金字塔忘记说明了

Croper 发表于 2019-12-17 17:34:14

明明应该是这样啊if(i!=0)
printf(" %d",i);
else
printf("%d",i);

狂野的小黄花 发表于 2019-12-17 17:38:56

Croper 发表于 2019-12-17 17:34
明明应该是这样啊

可是这样前边就会多出一个空格了呀
页: [1]
查看完整版本: 输出的前后的空格要怎么消掉