回文是指正读和反读都一样的数或字符串。例如:12321、55455、35553等都是回文。请编写一个程序,从键盘上读取一个包含5位数字的长整数,并判断它是否是回文。
输入
输入一个整数x。保证x为五位数且无前导0。
输出
先将输入数据输出,再输出是否是回文,若是回文输出"YES",否则输出"NO",中间用空格分隔。
样例输入 Copy
12321
样例输出 Copy
12321 YES
思路分析:求出前两位的数字和后两位的数字,判断第一位数和第五位数是否相等,同理判断第二和第四位数是否相等,若相等,则为五位回文数(顺读和逆读都相等的数字);
固定模板:x%10---x\10---x%10;
代码如下:
#include <stdio.h>
int main()
{
long int a, b, c, d, x;
scanf("%ld", &x);
a = x / 10000; //分解出万位
b = x % 10000 / 1000; //分解出千位
c = x % 100 / 10; //分解出十位
d = x % 10; //分解出个位
//判断个位等于万位并且十位等于千位
if (a == d && b == c) {
printf("%d YES",x);
}
else {
printf("%d NO",x);
}
}