阅读量:0
可以通过以下步骤来判断一个数是否为回文数:
定义一个函数
isPalindrome
,该函数接收一个整数作为参数,返回一个布尔值,表示该整数是否为回文数。在
isPalindrome
函数中,将传入的整数转换为字符串,方便进行逐位比较。使用两个指针
left
和right
,分别指向字符串的开头和结尾。使用一个循环,判断
left
指针小于等于right
指针时,执行以下操作:- 若
left
指针所指的字符与right
指针所指的字符不相等,则返回false
,表示不是回文数。 - 否则,将
left
指针向右移动一位,将right
指针向左移动一位,继续比较下一位字符。
- 若
若循环结束后没有返回
false
,则说明整数是回文数,返回true
。
下面是一个示例代码:
#include <stdio.h> #include <stdbool.h> #include <string.h> bool isPalindrome(int x) { // 将整数转换为字符串 char str[20]; sprintf(str, "%d", x); int left = 0; int right = strlen(str) - 1; while (left <= right) { if (str[left] != str[right]) { return false; } left++; right--; } return true; } int main() { int x; printf("请输入一个整数:"); scanf("%d", &x); if (isPalindrome(x)) { printf("%d 是回文数\n", x); } else { printf("%d 不是回文数\n", x); } return 0; }
在上述示例代码中,首先定义了一个 isPalindrome
函数来判断一个整数是否是回文数。在 main
函数中,通过用户的输入调用 isPalindrome
函数,并根据返回值输出结果。