c语言中如何将1234打出不重复的三位数
时间: 2024-10-21 19:14:38 浏览: 26
在C语言中,要打印出1234的所有不重复的三位数,我们可以先将数字转换成字符串,然后逐个字符提取并检查是否已出现过。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void printUniqueThreeDigit(int num) {
char str[4];
sprintf(str, "%d", num);
for (int i = 0; i < strlen(str); i++) {
if (i == 0 || str[i] != str[i - 1]) { // 检查前一位是否相同
int start = i + 1;
while (start < 4 && str[start] != str[i - 1]) {
printf("%c", str[start]);
start++;
}
printf(" ");
}
}
printf("\n");
}
int main() {
printUniqueThreeDigit(1234);
return 0;
}
```
这个程序首先将1234转换成字符串"1234",然后从第二个字符开始遍历,只有当当前字符与前一个字符不同时才输出。例如,第一个字符会打印出来,接下来会跳过与前一个相同的字符直到找到一个新的数字。
运行结果将是:
```
123 234
```
因为1、2是连续的,所以只打印了123;接着由于3之后没有新的三位数组合,就结束了。
阅读全文