题目:输入一个整型数,判断是否是对称数,如果是,输出yes,否则输出no,不用考虑这个整型数过大,int类型存不下,不用考虑负值;
例如 12321是对称数,输出yes,124421是对称数,输出yes,1231不是对称数,输出no
核心思想:将一个数进行逆置,例:1234 逆置后为:4321
- 将数据a的数值剥离出来 `a=a/10`
操作:不断除以10,直至不为0(为0跳出循环)
例:1234 不断除以10: 1 2 3 4 - 把a剥离出来的数值从右往左组成一个新数值b
思想:使其右边变为最高位,使其左边变为最低位 `b=b*10+c`
#include <stdio.h>
//判断对称数
int main() {
int a;
scanf("%d",&a);//输入一个整型数据a
int ai,b=0,c;
ai=a; //备份a
while(a)
{
c=a%10; //余数
b=b*10+c; //把b原有的值乘以10再加上余数
a=a/10;
}
if(b==ai)
{
printf("yes\n");
}
else
{
printf("no\n");
}
return 0;
}