输入任意一个正整数,判断它是否是回文数。回文数即这个数顺序读与逆序读是同一个数,如23432,333。 用c语音
时间: 2024-03-12 08:42:58 浏览: 66
好的,以下是判断一个正整数是否是回文数的 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` 函数判断它是否是回文数,并打印相应的输出。
阅读全文