📅  最后修改于: 2023-12-03 15:30:16.344000             🧑  作者: Mango
回文数是指正反读都一样的数,比如121、12321等。
我们可以通过将这个数的各个位数逆序排列,再和原数比较是否相等来判断一个数是否为回文数。
下面是一个 C 语言实现的判断回文数的程序,具体解释请见注释:
#include <stdio.h>
// 函数声明
int is_palindrome(int num);
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (is_palindrome(num)) {
printf("%d是回文数\n", num);
} else {
printf("%d不是回文数\n", num);
}
return 0;
}
// 判断是否为回文数的函数定义
int is_palindrome(int num) {
int temp = num; // 保存原数
int reverse_num = 0;
// 将原数逆序排列
while (temp > 0) {
reverse_num = reverse_num * 10 + temp % 10;
temp /= 10;
}
return reverse_num == num; // 返回是否相等的结果
}
其中 is_palindrome
函数是判断一个数是否为回文数的函数,它将原数逆序排列后再和原数比较,返回布尔类型的结果。
判断回文数是一个基本的算法题,通过C语言实现,我们可以加深对逆序排列的理解。对于其他编程语言,也可以参考C语言的思路来实现。