【C语言】题目14 - 有1、2、3、4个数字,能组成多少个互不相同且无重复的三位数,都是多少?并且把组成的数的总数给打印出来!

365 阅读2分钟

Offer 驾到,掘友接招!我正在参与2022春招系列活动-刷题打卡任务,点击查看活动详情

Hello,大家好,我是泽奀,一起学习进步(●'◡'●)。
✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩

前言

那么今天就开始C语言题目14,冲!刷题使我快乐😅

题目描述

有1、2、3、4个数字,能组成多少个互不相同且无重复的三位数,都是多少?并且把组成的数的总数给打印出来!

题目分析

这道题目说实话可能是遇到跟之前相比算是有难度了,有些人一看这道题目可能不知道无从开始,没事让我们来分析下它!

首先:有1、2、3、4个数字,能组成多少个互不相同且无重复的三位数,都是多少?

这个看关键字,1、2、3、4个、无重复的三位数!很明显这道题目要从数学角度来算的话是这个样子的。

那么要把 1、2、3、4 的数字分别得到百位、十位、个位。

能组成多少个互不相同且无重复的三位数。进行 if 判断即可。判断百位 ,十位 ,个位都不相同。注意:创建三个变量 百 十 个。

并且把组成的数的总数给打印出来!创建个变量++即可!

组成数字的总数这个只要能判断成功的话那么就用Count++ 就可以实现。

题目代码

#define _CRT_SECURE_NO_WARNINGS 1
#define number 4
#include<stdio.h>
int main(void)
{
	int a = 0;
	int b = 0;
	int c = 0;//创建三个变量
	int Count = 0;//计算总数
	for (a = 1; a <= number; a++)//百位
	{
		for (b = 1; b <= number; b++)//十位
		{
			for (c = 1; c <= number; c++)//个位
			{
				if (a != b && b != c && a != c)//判断(无重复数字)
				{
					printf("%d%d%d ", a, b, c);
					Count++;//Count = Count + 1
				}
			}
		}
		printf("\n");//换行
	}
	printf("Count = %d\n", Count);
	return 0;
}

运行结果

123 124 132 134 142 143

213 214 231 234 241 243

312 314 321 324 341 342

412 413 421 423 431 432

Count = 24

最后

其实也不难,如果你觉得你不会可以调试观察代码每一步结果🤔