n是任意自然数,将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,12321是回文数,12345则不是。测试举例:输入12321,输出yes。用c语言写出上述代码
时间: 2024-09-13 12:05:04 浏览: 71
在C语言中,你可以编写如下的函数来判断一个自然数是否为回文数:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPalindrome(int num) {
// 将数字转换为字符串以便于处理
char str[100];
int len = 0;
while (num > 0) {
str[len++] = num % 10 + '0'; // 取余并加'0'转为字符
num /= 10; // 整除获取下一个位
}
// 检查字符串的前半部分和后半部分是否相等
for (int i = 0, j = len - 1; i < j; i++, j--) {
if (str[i] != str[j]) {
return false;
}
}
return true;
}
int main() {
int input;
printf("请输入一个自然数:");
scanf("%d", &input);
if (isPalindrome(input)) {
printf("yes\n");
} else {
printf("no\n");
}
return 0;
}
```
这个程序首先通过循环将输入的数字转换成字符串,然后比较字符串的首尾字符是否相等。如果所有对应位置的字符都相等,那么该数就是回文数。
阅读全文