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

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条)

报告相同问题?

悬赏问题

  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择