数字 1、2、3、4,能组成多少个互不相同且无重复数字的三位 数?用c语言写出来
时间: 2024-10-27 07:07:23 浏览: 29
C语言程序设计经典100例
组成互不相同且无重复数字的三位数的数量,可以按照数学排列组合的方式来计算。由于每个位置都有从1到4这四个数字可以选择,所以第一个位置有4种选择,第二个位置有3种选择(因为已经选了一个),第三个位置只有2种选择(因为前两个位置已经各选了一个)。所以总共的三位数组合数量是:
4 * 3 * 2 = 24
下面是用C语言实现的一个简单程序,它会生成并打印出所有可能的三位数:
```c
#include <stdio.h>
void generateThreeDigitNumbers(int num, int* digits) {
if (num == 3) { // 当已填满3位数,打印结果
printf("%d\n", digits[0] * 100 + digits[1] * 10 + digits[2]);
return;
}
for (int i = 1; i <= 4; ++i) { // 可选数字范围是1到4
digits[num] = i;
generateThreeDigitNumbers(num + 1, digits);
}
}
int main() {
int digits[3];
generateThreeDigitNumbers(0, digits);
return 0;
}
```
当你运行这个程序,它将输出24个互不相同且无重复的三位数。注意,由于递归性质,此代码实际上只会列出一次,不会重复计数。
阅读全文