用函数实现判断一个数为回文数c语言
时间: 2024-10-25 14:14:53 浏览: 31
使用C语言实现的回文数检测示例palindrome.zip
在C语言中,回文数是指从前往后读和从后往前读都一样的数字,例如121、12321等。你可以通过创建一个函数来检查一个整数是否是回文。下面是一个简单的实现方法:
```c
#include <stdio.h>
// 函数声明,将整数转换成字符串并比较
int isPalindrome(int num);
int main() {
int input;
printf("请输入一个整数:");
scanf("%d", &input);
if (isPalindrome(input)) {
printf("%d 是回文数。\n", input);
} else {
printf("%d 不是回文数。\n", input);
}
return 0;
}
// 实现isPalindrome函数
int isPalindrome(int num) {
// 转换为字符串便于处理
char str[100];
sprintf(str, "%d", num);
// 双指针法,一个从头开始,一个从尾结束
int left = 0, right = strlen(str) - 1;
while (left < right) {
// 如果左右指针对应字符不相等,则不是回文
if (str[left] != str[right]) {
return 0; // 回文判断失败
}
left++; // 左指针向右移动
right--; // 右指针向左移动
}
return 1; // 数字是回文,返回1
}
```
在这个例子中,我们首先将输入的数字转换成字符串,然后使用两个指针分别指向字符串的开头和结尾,每次比较对应的字符是否相同,如果发现不一致则返回0,表示不是回文;当左指针大于等于右指针时,说明所有对应字符都匹配,说明该数是回文,返回1。
阅读全文