初看到这个题目,题目要求组成的三位数各不相同且不能有重复的数字,我们很自然的想到了排序,依次以1,2,3,4作为百位上的数字进行排列组合,就可以得到我们想要的结果。
代码如下:
#include<stdio.h>
int main()
{
int i, j, k;
for (i = 1; i <= 4; i++) {
for (j = 1; j <= 4; j++) {
for (k = 1; k <= 4; k++) {
if (i != j && j != k && i != k) {
printf("%d%d%d\n", i, j, k);
}
}
}
}
}
我们来分析一下这段代码:
首先我们使用i,j,k三个整型变量分别代表我们所想要的三位数的百位,十位和个位上的数。
接着,我们分别对1,2,3,4这四个数字在个位,十位和百位上进行排序,此时我们先不考虑它的重复情况。
当排序完成时,我们会发现只需要剔除有相同数字的三位数就能得到我们想要的结果,于是我们使用一个if语句进行判断。
最后,使用printf对结果进行输出。
2022年7月于福建
——暮炊雪