打印由数字4 5 7 9 所组成所有四位数 并统计总数

列举两种方法

1)

/*
 *打印由数字4 5 7 9 所组成所有四位数 并统计总数
*/
#include <stdio.h>

int main(void)
{
    //数组将不连续数据进行连续存储  得以用循环算法
    int ar[4]={4,5,7,9};
    int a,b,c,d,num,count=0;//a:千位 b:百 c:十 d:个


    for(a=0;a<4;a++)
    {
      for(b=0;b<4;b++)
      {
         for(c=0;c<4;c++)
         {
            for(d=0;d<4;d++)
            {
               if(ar[a]!=ar[b]&&ar[a]!=ar[c]&&ar[a]!=ar[d]    \
                       &&ar[b]!=ar[c]&&ar[b]!=ar[d]&&ar[c]!=ar[d])
               {
                  num=ar[a]*1000+ar[b]*100+ar[c]*10+ar[d];
                  count++;
                  printf("%d ",num);
               }
            }
         }
      }
    }
    printf("\n总计:%d\n",count);
    return 0;
}

#include "stdio.h"

main(void)
{
    int i=0,num=0,th,a=0,b=0,c=0,d=0;
    for(i=1000;i<10000;i++) 
    {
         
        a=i/1000;
        b=i/100%10;
        c=i/10%10;
        d=i%10;
        if((a==4|a==5|a==7|a==9)&(b==4|b==5|b==7|b==9)&(c==4|c==5|c==7|c==9)&(d==4|d==5|d==7|d==9))
        {
             if((a!=b)&&a!=c&&a!=d&&b!=c&&b!=d&&c!=d)
             {
                 printf("%d ",i);
                 num++;
             }
        }
    }
    printf(\n总计:%d\n",num);
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值