如何用C语言编写一个函数来判断一个整数是否为回文数?不是C99
时间: 2024-12-19 12:21:52 浏览: 12
C语言标准函数库
4星 · 用户满意度95%
在C语言中(非C99),我们可以使用传统的指针和数组来实现一个简单的函数来检查一个整数是否是回文数。这里是一个基本的示例:
```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;
}
// 回文数判断函数
int isPalindrome(int num) {
// 将数字转换为字符串便于处理
char str[100];
itoa(num, str, 10); // C99以后可用itoa,此版本我们手动处理
// 使用两个指针,一个从头开始,一个从尾部开始比较字符
int start = 0;
int end = strlen(str) - 1;
while (start < end) {
if (str[start] != str[end]) { // 如果发现首尾字符不相等
return 0; // 数字不是回文,直接返回0
}
start++; // 移动起始指针向前一位
end--; // 移动结束指针向后一位
}
return 1; // 遍历结束后,如果没发现问题,说明是回文数,返回1
}
```
这个程序首先将输入的整数转换成字符串,然后通过两个指针分别指向字符串的首尾字符进行比较,直到它们相遇或找到不匹配的字符。
阅读全文