判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数 C语言
时间: 2024-09-24 19:17:18 浏览: 49
js代码-判断一个整数是否是回文数。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 进阶: 你能不将整数转为字符串来解决这个问题吗?
判断一个整数是否是回文数,可以将这个整数转换成字符串,然后比较原始字符串和反转后的字符串是否相等。以下是C语言的一个简单示例:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
int isPalindrome(int num);
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
if (isPalindrome(num)) {
printf("%d是回文数\n", num);
} else {
printf("%d不是回文数\n", num);
}
return 0;
}
// 回文数检查函数
int isPalindrome(int num) {
// 将数字转换为字符串并存储
char str[100];
sprintf(str, "%d", num);
// 反转字符串并与原字符串比较
char revStr[100];
int i = 0, j = strlen(str) - 1;
while (i < j) {
if (str[i] != str[j]) {
return 0; // 如果不相等则不是回文
}
i++;
j--;
}
return 1; // 如果全部字符匹配,则返回1表示是回文
}
```
在这个程序中,`isPalindrome`函数首先将输入的整数转换为字符串,然后逐个字符地比较字符串的首尾部分,直到两者相遇或者发现不匹配的字符,从而判断是否是回文。
阅读全文