判断任意数字是否是回文数

void main()
{
     long num,smallnum;
     scanf("%d",&num);
     smallnum = num;
     int start=1;
     int count=0;
     do{
         start*=10;
         count++;
     }while(num%start!=num);
    printf("本数是%d位\n",count);
    int i;
    int yes=1;
    if(count%2==0){
        yes=0;
    }
    int loopcount = count/2;
    int innercounter=1;
    int bigsum=1;
    int smallsum=1;
    for(i=1;i<=loopcount;i++){
        smallsum=1;
        for(innercounter=1;innercounter<=i;innercounter++){
            smallsum = smallsum*10;
        }
        bigsum=1;
        for(innercounter=1;innercounter<=(count-i);innercounter++){
            bigsum = bigsum*10;
        }
        int small = smallnum%(smallnum/10);
        smallnum =  smallnum/=10;

        int big = num/bigsum;
        num = num%bigsum;
        if(big!=small){
            yes=0;
            break;
        }
    }
    if(yes==1){
         printf("此数是回文数.");
    }else{
         printf("此数不是回文数.");
    }
}







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值