题目:
有1,2,3,4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
思路:
个十百位都可以由1,2,3,4组成,我们只需要先使用for循环遍历出所有情况,再将不符合题目条件的去除(即不打印,只选择我们需要打印的),即可实现题目要求,再定义一个变量进行计数,每当打印执行一次就加一,最终即可获得能组成的符合条件的个数。
代码:
#include <stdio.h>
//个位十位百位均可以由1,2,3,4组成,但由于无重复数字,所以去除不符合条件的结果,打印符合条件的
int main(int argc, char const *argv[])
{
int sum = 0;
printf("由1,2,3,4组成的互不相同且无重复数字的数如下:\n");
for (int bai = 1; bai < 5; bai++)
{
for (int shi = 1; shi < 5; shi++)
{
for (int ge = 1; ge < 5; ge++)
{
if (bai != shi && shi != ge && bai != ge)
{
printf("%d %d %d\n", bai, shi, ge); //打印出符合条件的具体的数
sum++; //计数
}
}
}
}
printf("共有%d个互不相同且无重复数字的数\n", sum);
return 0;
}