在这里插入代码片#include <stdio.h>
/**
* 问题描述:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
*
* 考察方向:用对10求余的方法摘位,个位被摘出
*/
//利用数组
int main(void) {
//利用数组存储摘出的位数
int result[5];
//定义输入变量
int x;
//存入数组的index
int i = 0, j = 0;
printf("请输入一个小于五位的整形数字:");
scanf("\t%d",&x);
while(x > 0)
{
result[i] = x % 10;
x /= 10;
i++;
}
//此时i=5超出数组下标了 所以--;
i--;
//终止条件 i=j 或i<j
while(i > j)
{
//判断数组头尾是否相等,如果不等直接返回
if(result[j] != result[i])
{
printf("这不是回文数。");
return 0;
}
//数组尾部下标往前 --
i--;
//数组首部下标往后 ++
j++;
}
//如果上方没有返回,可以证明这是回文数
printf("这是回文数。");
return 0;
}