weixin_45821714 2019-10-31 20:01 采纳率: 0%
浏览 1748
已采纳

C语言编程。从键盘输入4个数,能组成多少互不相同的三位数?将个数以及所组成的数,输出到屏幕上。

#include
main()
{
int a[4];
int i,j,k,x;
printf("请输入四个一位数:");
printf("\n");
for(i=0;i<4;i++)
scanf("%d",&a[i]);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
for(k=0;k<4;k++)
{
if(i!=j&&i!=k&&j!=k)
{
printf("%d%d%d ",a[i],a[j],a[k]);
x++;
}

            }
    }   
}
             printf("\n");
             printf("三位数总数为%d",x);
        return 0;

}


```我已经写完了如上程序,请问如何增加以下程序:输入的数中有0,使0不在百位
  • 写回答

4条回答 默认 最新

  • threenewbee 2019-10-31 21:40
    关注

    if (i!=j&&i!=k&&j!=k&&a[i]!=0) //这里加上a[i]!=0,并且注意后面那个&是&&

    #include <stdio.h>
    
    int main(void) 
    {
        int a[4];
        int i,j,k,x=0; //这里x要初始化
        printf("请输入四个一位数:");
        printf("\n");
        for(i=0;i<4;i++)
            scanf("%d",&a[i]);
        for(i=0;i<4;i++)
        {
            for(j=0;j<4;j++)
            {
                for(k=0;k<4;k++)
                {
                    if(i!=j&&i!=k&&j!=k&&a[i] != 0)
                    {
                        printf("%d%d%d ",a[i],a[j],a[k]);
                        x++;
                    }
                }
            }   
        }
        printf("\n");
        printf("三位数总数为%d",x);
        return 0;
    }
    

    请输入四个一位数:
    0 2 3 4
    203 204 230 234 240 243 302 304 320 324 340 342 402 403 420 423 430 432
    三位数总数为18

    注意,你的程序必须输入4个不同的数

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

报告相同问题?

悬赏问题

  • ¥15 用verilog实现tanh函数和softplus函数
  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 51寻迹小车定点寻迹
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题