如何用C语言编写程序判断输入数是否是回文数
时间: 2024-01-21 19:19:50 浏览: 80
可以使用数组来实现判断输入数是否是回文数的程序,具体实现如下:
```c
#include <stdio.h>
#define MAX_DIGITS 10 // 定义最大位数
int main() {
int num, i, j, digits, digit[MAX_DIGITS];
printf("请输入一个整数:");
scanf("%d", &num);
// 将每一位数字存入数组中
for (i = 0; num > 0; i++) {
digit[i] = num % 10;
num /= 10;
}
digits = i; // 数字位数
// 判断是否为回文数
for (i = 0, j = digits - 1; i < digits / 2; i++, j--) {
if (digit[i] != digit[j]) {
printf("不是回文数\n");
return 0;
}
}
printf("是回文数\n");
return 0;
}
```
代码解析:
1. 定义最大位数为 `MAX_DIGITS`,用数组 `digit` 存储每一位数字。
2. 输入一个整数 `num`。
3. 将每一位数字存入数组 `digit` 中。
4. 统计数字位数 `digits`。
5. 使用双指针法判断是否为回文数,当数字位数为偶数时,左右指针从中间位置出发,当数字位数为奇数时,左右指针从中间位置分别向左右移动一位出发。
6. 若不是回文数,则输出“不是回文数”,否则输出“是回文数”。
阅读全文