m0_64384849 2022-02-11 18:58 采纳率: 44.4%
浏览 28
已结题

它最后多了一个空格,怎么把他消除

#include <stdio.h>
#include <stdlib.h>

int main()
{
int n,m,x,i,j=0;
scanf("%d%d",&n,&m);
if(n>=100&&n<=999&&m>=100&&m<=999&&n<=m)
{
for(i=n;i<=m;i++)
{
x=(i/100 )(i/100)(i/100)+(i/10%10)(i/10%10)(i/10%10)+(i%10)(i%10)(i%10);
if(x==i)
{
j=j+1;
printf("%d ",i);
}

}
if(j==0)
    printf("no");
}
else
if(n==0||m==0)
{
printf("\0");
}
else
{
    printf("no");
}

return 0;

}

img

  • 写回答

2条回答 默认 最新

  • 旺仔不爱牛奶 2022-02-11 19:16
    关注

    已消除输出末尾空格

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int n, m, x, i, j = 0; bool flag = false;
        scanf_s("%d%d", &n, &m);
        if (n >= 100 && n <= 999 && m >= 100 && m <= 999 && n <= m)
        {
            for (i = n; i <= m; i++)
            {
                x = (i / 100)*(i / 100)*(i / 100) + (i / 10 % 10)*(i / 10 % 10)*(i / 10 % 10) + (i % 10)*(i % 10)*(i % 10);
                if (x == i)
                {
                    j = j + 1;
                    if(flag == true)
                        printf(" %d", i);
                    else
                    {
                        printf("%d", i);
                        flag = true;
                    }
                }
            }
            if (j == 0)
                printf("no");
        }
        else
            if (n == 0 || m == 0)
            {
                printf("\0");
            }
            else
            {
                printf("no");
            }
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月20日
  • 已采纳回答 9月12日
  • 创建了问题 2月11日