C语言回文数判定函数
时间: 2024-12-02 14:12:34 浏览: 21
在C语言中,判断一个整数是否为回文数,通常需要将数字转换成字符串,然后比较字符串正向读取和反向读取是否相等。这里是一个简单的例子,定义了一个函数`isPalindrome()`来实现这个功能:
```c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
// 函数声明
bool isPalindrome(int num);
// 辅助函数,用于将数字转为字符串
char* intToString(int num) {
char str[20];
itoa(num, str, 10);
return str;
}
// 主要函数,检查输入的数字是否是回文
bool isPalindrome(int num) {
if (num < 0) {
// 负数不是回文
return false;
}
char* forward = intToString(num);
char* reverse = forward;
size_t len = strlen(forward);
for (size_t i = 0; i < len / 2; i++) {
if (forward[i] != reverse[len - 1 - i]) {
// 如果字符不匹配,不是回文
return false;
}
}
free(forward); // 释放内存
return true;
}
int main() {
int input;
printf("请输入一个整数:");
scanf("%d", &input);
if (isPalindrome(input)) {
printf("%d是回文数。\n", input);
} else {
printf("%d不是回文数。\n", input);
}
return 0;
}
```
阅读全文