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

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

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料