用c语言输入一个正整数,找出满足下面条件的所有整数: (1)小于该整数; (2)各位数字相同; (3)相同位数。 要求:每输出一个数换行。
时间: 2024-11-04 13:10:26 浏览: 12
在C语言中,你可以通过遍历、检查每一位并复制相同数值来实现这个功能。以下是简单的步骤:
1. 首先,定义一个函数,接收用户输入的正整数作为参数。
```c
#include <stdio.h>
#include <stdbool.h>
void find_same_digit_numbers(int num) {
for (int i = 0; i < num; i++) { // 从0到num-1遍历所有可能的数
int current_num = i;
bool same_digits = true;
while (current_num > 0) { // 检查每一位是否相同
int digit = current_num % 10; // 取当前数的最后一位
if (digit != current_num / 10) { // 如果不等于去掉个位后的数,则不同位
same_digits = false;
break;
}
current_num /= 10; // 移除个位
}
if (same_digits) { // 如果所有位数都相同
printf("%d\n", i);
}
}
}
int main() {
int input;
printf("请输入一个正整数: ");
scanf("%d", &input);
find_same_digit_numbers(input);
return 0;
}
```
当你运行程序时,它会提示你输入一个正整数,然后打印出所有符合条件(所有位数相同且小于输入值)的整数,每个数占一行。
阅读全文