C语言刷题---求无重复三位数个数

该博客介绍了如何使用C语言编写程序来枚举并输出所有由1-4这四个数字不重复组成的三位数,并计算这样的数的个数。程序通过三层循环实现,依次遍历个位、十位和百位,确保每个数字在三位数中只出现一次。最后,程序输出符合条件的三位数及其总数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:求1-4四个数字组成的互不相同且不重复数字的三位数,都是多少以及个数。

已知:(1)三位数

           (2)每位数字的范围为1-4

           (3)每个三位数不相同且每个位的数字也不相同

输出:(1)依次输出符合要求的三位数

           (2)并输出满足要求的三位数个数

解题思路:

           (1)首先要提取出三位数每一位的数值,假设个位、十位、百位分别为g、s、b

           (2)三位数的表示形式:b*100+s*10+g

             (3) 分别遍历每一位寻找满足要求的三位数

代码实现:

#include<stdio.h>

int main()
{
    int g=0, s=0, b=0;  //定义个位、十位、百位的三个变量
    int count = 0;
    for (g = 1; g < 5; g++)
    {
        for (s = 1; s < 5; s++)
        {
            for (b = 1; b < 5; b++)
            {
                if (g != s && s != b && g != b)
                {
                    printf("%d,%d,%d\n", b, s, g);
                    count++;
                }
            }
        }
    }
    printf("count=%d\n", count);   //打印满足要求三位数的个数
    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值