输入一个整型数,判断是否是对称数,如果是,输出yes,否则输出no,不用考虑这个整型数过大,int类型存不下,不用考虑负值;
例如 12321是对称数,输出yes,124421是对称数,输出yes,1231不是对称数,输出no
思路:把这个数逆置看与原来的是否相等 把它的每一位剥离出来
while(1){
printf("%d",a%10); // a%10可以得到个位
a=a/10; //让12321 变成 1232 循环取得个位数 即可完成每一位数的剥离
//如果一直除到最后一位1 而1/10=0了 也就不需要再输出余数了 为假while不执行
//所以可以把while 的条件改为a 12%2=2 12/10=1 1%10=1 1/10=0
}
输出是倒序输出 如果a=1234 输出的是4231 也直接完成了逆置
#include<stdio.h>
int main(){
int a,temp;
int b=0; //初始值要为0
scanf("%d",&a);
temp=a; //暂存初始的a值 用于和逆置值作比较
while(a){
b=b*10+a%10; //b把原有的值乘10再加上余数 相当于把我们对a做的操作进行还原
a=a/10;
}
printf("%d\n",b);
if(temp==b){
printf("yes");
}
else{
printf("no");
}
return 0;
}