输出1000 – 99999中所有的回文数和回文数的个数。(注:回文数是该数从左往右读和从右往左读一样,例如,1001,25652.)c语言代码
时间: 2025-03-17 17:00:44 浏览: 29
以下是用C语言实现输出1000到99999之间所有回文数及其总数的代码:
```c
#include <stdio.h>
// 判断是否为回文数函数
int isPalindrome(int num) {
int original = num;
int reversed = 0;
while (num > 0) {
reversed = reversed * 10 + num % 10; // 反转数字
num /= 10;
}
return original == reversed; // 如果反转后的值等于原数值,则是回文数
}
int main() {
int start = 1000, end = 99999;
int count = 0; // 记录回文数的数量
printf("1000 - 99999之间的回文数有:\n");
for (int i = start; i <= end; i++) { // 遍历范围内的每个数
if (isPalindrome(i)) {
printf("%d ", i); // 打印回文数
count++;
}
}
printf("\n总共有%d个回文数。\n", count);
return 0;
}
```
### 程序说明:
1. **核心思路**:
回文数是指正着读和反着读一样的整数。我们通过将一个数逐位取出来并将其逆序重组,再判断它是否与其原始值相等。
2. **`isPalindrome` 函数**:
此函数用于检查某个数字是否为回文数。它会把输入数字倒置,并比较倒置结果与原来的数字是否一致。
3. **主循环部分**:
我们遍历了从 `start=1000` 到 `end=99999` 的每一个数字,利用上述辅助函数逐一检测哪些属于回文数并将它们打印出来,同时统计其数量。
4. **运行示例**:
假设程序成功编译运行后,会在控制台依次列出符合条件的所有四位及以上五位长度的回文数字,并最终报告具体的数目。
---
阅读全文
相关推荐














