C语言编写:输入一个整型数,判断是否是对称数,如果是,输出yes,否则输出no,不用考虑这个整型数过大,int类型存不下,不用考虑负值; 例如 12321是对称数,输出yes,124421是对称数,输出yes,1231不是对称数,输出no
时间: 2024-10-04 15:04:17 浏览: 17
在C语言中,你可以通过遍历整数的每一位并比较其左右部分是否相等来判断它是否是对称的。以下是一个简单的函数实现示例:
```c
#include <stdio.h>
// 函数定义用于检查整数是否对称
int isPalindrome(int num) {
int reversed = 0; // 反转后的数字
int original_digit; // 当前位数字
while (num != 0) {
// 提取当前位数字并反转
original_digit = num % 10;
reversed = (reversed * 10) + original_digit;
// 移除最右边的数字
num /= 10;
}
// 如果原始数等于其反转,那么它是对称的
if (num == reversed)
return 1; // 输出yes
else
return 0; // 输出no
}
int main() {
int input;
printf("请输入一个整数: ");
scanf("%d", &input);
if (isPalindrome(input))
printf("yes\n");
else
printf("no\n");
return 0;
}
```
在这个程序中,`isPalindrome`函数首先创建了一个变量`reversed`来存储输入数字的反向版本。然后,它逐位提取输入数字,并将其添加到`reversed`的左边。如果最后`num`等于`reversed`,则输入数字是对称的。