C语言输入一个整数判断是否为回文数
时间: 2023-09-01 13:10:42 浏览: 54
好的,下面是判断一个整数是否为回文数的 C 语言代码:
```c
#include <stdio.h>
int main() {
int num, reversed = 0, original;
printf("请输入一个整数:");
scanf("%d", &num);
original = num;
while (num != 0) {
reversed = reversed * 10 + num % 10;
num /= 10;
}
if (original == reversed) {
printf("%d 是回文数", original);
} else {
printf("%d 不是回文数", original);
}
return 0;
}
```
首先,我们输入一个整数 `num`,然后将它赋值给 `original`,以便后面输出结果的时候使用。
接下来,我们用一个循环来将 `num` 的每一位取出来并倒序排列,存放在 `reversed` 中。最后,我们将 `original` 和 `reversed` 进行比较,如果相等,则说明输入的整数是回文数,否则不是回文数。
相关问题
C语言判断一个数是否为回文数,简单
好的,根据您的要求,我给您提供一个简单的 C 语言程序,用于判断一个数是否为回文数,具体如下:
```c
#include <stdio.h>
// 判断一个数是否为回文数
int isPalindrome(int num) {
int temp = num;
int reverse = 0;
while (temp != 0) {
reverse = reverse * 10 + temp % 10;
temp /= 10;
}
return reverse == num;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (isPalindrome(num)) {
printf("%d 是回文数\n", num);
} else {
printf("%d 不是回文数\n", num);
}
return 0;
}
```
这个程序中,我们定义了一个 `isPalindrome` 函数来判断一个数是否为回文数。它的实现方法是,将输入的数反转,如果反转后的数与原数相等,则说明这个数是回文数,否则不是回文数。在主函数中,我们接收用户输入的整数,然后调用 `isPalindrome` 函数来判断是否为回文数,最后输出判断结果。通过这个程序,可以简单地判断一个数是否为回文数了。
用C语言编写一个函数,判断一个整数是不是回文数
以下是用C语言编写的判断整数是否为回文数的函数:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPalindrome(int x) {
// 如果x小于0或者最后一位是0但x不等于0,则x不是回文数
if (x < 0 || (x % 10 == 0 && x != 0)) {
return false;
}
int reversed = 0;
while (x > reversed) { // 只需要翻转一半的数字
reversed = reversed * 10 + x % 10;
x /= 10;
}
// 如果数字长度为奇数,可以通过reversed/10去除中间的数字
// 例如,1221,翻转后reversed=122,x=12
return x == reversed || x == reversed / 10;
}
```
该函数首先判断输入的整数是否为负数或者以0结尾但不是0本身,这些情况下该整数不是回文数。然后,利用一个while循环将数字翻转,只需要翻转数字的一半即可。在翻转的过程中,需要将翻转后的数字与原始数字进行比较,如果相等,则说明该整数是回文数。如果数字长度为奇数,则可以通过reversed/10去除中间的数字。