C语言用5678四个数组成不相等不重复的三位数,只用循环不用数组
时间: 2024-11-25 17:10:54 浏览: 9
在C语言中,如果你想用5、6、7、8这四个数字组成不重复的三位数,并且避免相同的组合,可以利用嵌套循环的方式实现。这里是一个示例程序,通过两层循环遍历所有可能性:
```c
#include <stdio.h>
int main() {
int a[4] = {5, 6, 7, 8}; // 数组元素
char num[100]; // 存储生成的三位数字符串
for (int i = 0; i < 4; i++) {
// 避免使用当前数字
if (i == 0) {
num[0] = a[i + 1];
} else if (i == 1) {
num[0] = a[i - 1];
num[1] = a[i + 1];
} else if (i == 2) {
num[0] = a[i - 2];
num[1] = a[i];
num[2] = a[i + 1];
} else { // i == 3
num[0] = a[i - 2];
num[1] = a[i - 1];
num[2] = a[i];
}
num[3] = '\0'; // 结束字符串
printf("%s\n", num); // 输出三位数
}
return 0;
}
```
这个程序会生成并打印出所有由5、6、7、8组成的不重复的三位数。注意,由于数字限制,我们无法得到所有的可能组合(比如100种),但可以生成所有的合法排列。
阅读全文