P1TayA 2021-10-13 13:38 采纳率: 71.4%
浏览 48
已结题

我写了一个,但答案不对,希望指出一下问题

:给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。

输入格式:
输入在一行中给出A。

输出格式:
输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。

#include<stdio.h>
int main()
{
int a,b,c,d,e;

scanf("%d",&a);
for(b=a;b<=a+3;b++)
{e=0;
    for(c=a;c<=a+3;c++)
        {
            for(d=a;d<=a+3;d++)
            {
                if(b!=c&&b!=d&&c!=d)
                {
                    printf("%d%d%d",b,c,d);
                    e++;
                    if(e==6)
                    printf(" \n");
                    else
                    printf(" ");
                }
            }
        }
}
return 0;

}

这段代码一直显示格式错误 不知道哪里错了
求指出

  • 写回答

4条回答 默认 最新

  • 技术专家团-Joel 2021-10-13 14:03
    关注

    你好同学,你的代码我看了一下,要求的是行末不能有多余空格:
    所以把那个printf(" \n");改成printf("\n");就行啦

    #include<stdio.h>
    int main()
    {
    int a,b,c,d,e;
    scanf("%d",&a);
    for(b=a;b<=a+3;b++)
    {e=0;
        for(c=a;c<=a+3;c++)
            {
                for(d=a;d<=a+3;d++)
                {
                    if(b!=c&&b!=d&&c!=d)
                    {
                        printf("%d%d%d",b,c,d);
                        e++;
                        if(e==6)
                        printf("\n");//这里错了,行末不能有多余空格 
                        else
                        printf(" ");
                    }
                }
            }
    }
    return 0;
    }
    
    

    有帮助还请给个采纳支持下答主哦

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月21日
  • 已采纳回答 10月13日
  • 创建了问题 10月13日