写一段C语言代码判断1,2,3,4四个数字,能组成多少个互不相同且无重复数字的三位数
时间: 2024-11-23 12:41:26 浏览: 25
在C语言中,我们可以使用嵌套循环结构来生成所有的三位数,并通过数组或临时变量存储已经生成的数字,避免重复。以下是简单的代码示例:
```c
#include <stdio.h>
int main() {
int num[4] = {1, 2, 3, 4};
int count = 0;
int temp[100]; // 初始化计数数组
for (int i = 0; i < 4; i++) {
for (int j = i + 1; j < 4; j++) {
for (int k = j + 1; k < 4; k++) {
temp[count++] = num[i] * 100 + num[j] * 10 + num[k];
}
}
}
// 避免重复计数,检查并过滤出未被记录的三位数
for (int i = 0; i < count; i++) {
if (temp[i] != 123 && temp[i] != 132 && temp[i] != 213 && temp[i] != 231 &&
temp[i] != 312 && temp[i] != 321) {
printf("%d ", temp[i]);
} else {
// 如果找到重复的组合,从count中移除以更新计数
count--;
}
}
printf("\nTotal unique three-digit numbers without repetition: %d\n", count);
return 0;
}
```
阅读全文