C语言中,用自定义函数来判断一个数是不是回文数
时间: 2024-09-29 14:01:38 浏览: 48
在C语言中,判断一个数是否是回文数可以通过将数字转换成字符串,然后比较字符串的正向和反向是否相同来完成。这里是一个简单的自定义函数示例:
```c
#include <stdio.h>
#include <string.h>
// 自定义函数,检查输入的整数是否为回文
int isPalindrome(int num) {
if (num < 0) {
return 0; // 整数如果是负数,则不是回文
}
char str[20];
int len;
// 将数字转换为字符串
len = snprintf(str, sizeof(str), "%d", num);
str[len] = '\0'; // 添加终止符
// 比较字符串和其反转
int i = 0, j = strlen(str) - 1;
while (i < j) {
if (str[i] != str[j]) {
return 0;
}
i++;
j--;
}
return 1; // 如果所有字符都匹配,返回1表示是回文
}
int main() {
int input;
printf("Enter a number: ");
scanf("%d", &input);
if (isPalindrome(input)) {
printf("%d is a palindrome.\n", input);
} else {
printf("%d is not a palindrome.\n", input);
}
return 0;
}
```
这个函数首先排除了负数不是回文的情况,然后通过双指针法逐个比较字符串的首尾字符,直到它们相遇或者发现不匹配的字符。
阅读全文