用C语言求:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
时间: 2024-10-14 16:18:28 浏览: 5
在C语言中,我们可以使用循环结构和嵌套循环来计算由1、2、3、4组成的不重复的三位数的数量,并一一列举它们。因为百位不能为0,所以第一位只能从1到4中选择,第二位和第三位可以从剩下的三个数字中选择。
```c
#include <stdio.h>
int main() {
int num[] = {1, 2, 3, 4};
int count = 0;
for (int first_digit = 1; first_digit <= 4; ++first_digit) { // 百位选择
for (int second_digit = 0; second_digit < 4; ++second_digit) { // 十位和个位选择,排除已选过的数
if (second_digit != first_digit) {
for (int third_digit = 0; third_digit < 4; ++third_digit) {
if (third_digit != first_digit && third_digit != second_digit) { // 个位选择
printf("Number: %d%d%d\n", first_digit, second_digit + 1, third_digit + 1); // 加1是因为数组索引从0开始
count++;
}
}
}
}
}
printf("总共有 %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