用C语言编写输入一个整数,判断它是否为回文数。(回文数是指一个整数,它正读和反读对应的数值相同,如15351就是一个回文数而123则不是一个回文数)
时间: 2024-05-10 11:20:52 浏览: 8
```
#include <stdio.h>
int main() {
int n, reversed = 0, original;
printf("请输入一个整数:");
scanf("%d", &n);
original = n;
// 将 n 反转
while (n > 0) {
reversed = reversed * 10 + n % 10;
n /= 10;
}
// 判断是否为回文数
if (original == reversed) {
printf("%d 是回文数\n", original);
} else {
printf("%d 不是回文数\n", original);
}
return 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` 函数进行判断,最后输出结果。
注意,程序假设输入的是正整数,如果输入的是负数或者零,程序的行为是未定义的。
输入一个小于8位数的正整数,判断它是不是回文数,即12321是回文数,用C语言完成
可以使用C语言中的数组来实现判断一个数是否为回文数。具体的实现如下:
```c
#include <stdio.h>
int main() {
int num; // 定义输入的数字
int digits[10]; // 定义数组,存储每一位数字
int i, j; // 循环变量
printf("请输入一个小于8位数的正整数:");
scanf("%d", &num);
// 将每一位数字分解出来,存储到数组中
for (i = 0; num > 0; i++) {
digits[i] = num % 10;
num /= 10;
}
// 判断是否为回文数
for (j = 0; j < i / 2; j++) {
if (digits[j] != digits[i - j - 1]) {
printf("不是回文数\n");
return 0;
}
}
printf("是回文数\n");
return 0;
}
```
首先通过 `scanf` 函数获取用户输入的数字,然后将其每一位数字分解出来存储到数组 `digits` 中。接着通过循环判断数组是否为回文数,如果是则输出“是回文数”,否则输出“不是回文数”。需要注意的是,这里循环的次数为 `i / 2`,因为只需要判断数组的前一半是否与后一半相同即可。