c语言输入1234组成三位数不重复
时间: 2024-10-14 10:14:57 浏览: 50
在C语言中,你可以通过循环和临时变量来实现让用户输入1到4这四个数字,并组合成一个无重复数字的三位数。以下是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
int num[4] = {0}; // 初始化数组用于存储用户输入的数字
int digit, temp;
printf("请输入四个数字(1, 2, 3, 4): ");
for (int i = 0; i < 4; i++) {
scanf("%d", &num[i]); // 输入四个数字
// 检查是否已存在相同的数字
while (digit != -1) {
if (num[i] == digit) {
printf("已输入过该数字,请重新输入: ");
scanf("%d", &num[i]);
} else {
digit = num[i]; // 如果当前数字不重复,更新 digit
}
}
// 存储并移动指针
num[i] = i + 1; // 数字范围从1到4
temp = num[i];
for (int j = i - 1; j >= 0; j--) {
if (temp > num[j]) {
num[j+1] = num[j]; // 将大数字移到后面
num[j] = temp;
} else {
break; // 找到合适的位置,跳出循环
}
}
}
// 输出三位数
printf("组成的三位数: %d\n", num[0]*100 + num[1]*10 + num[2]);
return 0;
}
```
在这个程序中,我们首先读取四个数字,然后检查每个新输入的数字是否与已存在的数字相等。如果找到重复,就提示用户重新输入。接着我们将数字按照升序排列并存储进数组,最后生成并输出组成的三位数。
阅读全文