用c语言输入一个正整数,找出满足下面条件的所有整数: (1)小于该整数; (2)各位数字相同; (3)相同位数。
时间: 2024-11-04 15:15:13 浏览: 29
C语言程序设计-找出一批正整数中的最大的偶数;
5星 · 资源好评率100%
在C语言中,你可以通过循环遍历和条件判断来实现这个功能。首先,你需要获取用户输入的正整数,然后从1开始逐个检查是否满足上述条件。以下是一个简单的示例代码:
```c
#include <stdio.h>
void findSameDigitNumbers(int n) {
for (int i = 1; i < n; ++i) { // 遍历所有小于n的整数
int str_i = i; // 将整数转换为字符数组便于比较
char num[10]; // 定义一个字符数组来存储每一位数字
int len = 0;
while (str_i > 0) {
num[len++] = str_i % 10 + '0'; // 取余数并添加到数组中,注意转换为字符
str_i /= 10; // 移除最低位
}
// 检查每一位是否都相同
if (len == 1 || (len > 1 && memcmp(num, num + 1, len - 1) == 0)) {
printf("%d ", i); // 如果满足条件,打印出来
}
}
}
int main() {
int input;
printf("请输入一个正整数: ");
scanf("%d", &input);
if (input <= 0) {
printf("输入错误, 请输入一个正整数。\n");
} else {
findSameDigitNumbers(input);
}
return 0;
}
```
当你运行此程序并输入一个正整数,它会输出所有小于输入数且每位数字相同的整数。
阅读全文