用c语言写:输入任意一个正整数,判断它是否是回文数,回文数既这个数顺序读与逆序读是同一个数,如:23432,333
时间: 2024-03-13 14:48:10 浏览: 38
好的,下面是用 C 语言实现判断一个正整数是否为回文数的程序,程序考虑了负数和零的情况:
```c
#include <stdio.h>
int is_palindrome(int num) {
if (num < 0) {
return 0; // 负数不是回文数
}
int reversed_num = 0, original_num = num;
while (num != 0) {
reversed_num = reversed_num * 10 + num % 10;
num /= 10;
}
return original_num == reversed_num;
}
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
if (is_palindrome(num)) {
printf("%d 是回文数。\n", num);
} else {
printf("%d 不是回文数。\n", num);
}
return 0;
}
```
程序与前一个版本的区别在于增加了对负数和零的判断。如果输入的是负数,程序直接返回 0;如果输入的是零,程序会判断它是否是回文数,但实际上零不是回文数。
相关问题
用c语言写:输入任意一个正整数,判断它是否是回文数
好的,下面是用 C 语言实现判断一个正整数是否为回文数的程序:
```c
#include <stdio.h>
int is_palindrome(int num) {
int reversed_num = 0, original_num = num;
while (num != 0) {
reversed_num = reversed_num * 10 + num % 10;
num /= 10;
}
return original_num == reversed_num;
}
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
if (is_palindrome(num)) {
printf("%d 是回文数。\n", num);
} else {
printf("%d 不是回文数。\n", num);
}
return 0;
}
```
程序首先定义了一个 `is_palindrome` 函数,用于判断一个正整数是否为回文数。该函数的实现方法是将原整数反转,然后与原整数进行比较,如果相等则说明原整数是回文数。
接着在 `main` 函数中,程序先读取用户输入的正整数,然后调用 `is_palindrome` 函数进行判断,最后输出结果。
注意,程序假设输入的是正整数,如果输入的是负数或者零,程序的行为是未定义的。
输入任意一个正整数,判断它是否是回文数。回文数即这个数顺序读与逆序读是同一个数,如23432,333。 用c语音
好的,以下是判断一个正整数是否是回文数的 C 语言代码:
```c
#include <stdio.h>
int isPalindrome(int num) {
int temp = num;
int reversed = 0;
while (temp > 0) {
reversed = reversed * 10 + temp % 10;
temp /= 10;
}
return num == reversed;
}
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
if (isPalindrome(num)) {
printf("%d 是回文数\n", num);
} else {
printf("%d 不是回文数\n", num);
}
return 0;
}
```
首先,我们定义了一个 `isPalindrome` 函数,它接收一个整数参数 `num`,并返回一个布尔值,表示它是否是回文数。
在 `isPalindrome` 函数中,我们使用一个 while 循环来反转 `num`,并将反转后的结果保存到 `reversed` 变量中。具体来说,每次循环,我们将 `reversed` 乘以 10,然后加上 `num` 的个位数,最后将 `num` 除以 10(相当于去掉个位数)。这样,当循环结束时,`reversed` 就是 `num` 的反转。
最后,我们比较 `num` 和 `reversed` 是否相等,如果相等,则 `num` 是回文数,否则不是。
在 `main` 函数中,我们首先通过 `scanf` 函数读入一个整数 `num`,然后调用 `isPalindrome` 函数判断它是否是回文数,并打印相应的输出。