OJ题库024: 反转数字C++

该C++代码段展示了一个程序,它从输入的整数a中逐位提取数值并累加到变量b上。在每次迭代中,a的最后一位被添加到b的十倍上,然后a除以10,直到a变为0。这用于将a的位表示转移给b。取模运算的正负性取决于左操作数的符号。
摘要由CSDN通过智能技术生成

#include<iostream>
using namespace std;
int main()
{
    int a;int b=0;
    cin>>a;
    while(a)
    {
        b=b*10+a%10;
        a/=10;      
    }
    cout<<b;
    return 0;
}

//b会随着a的变小而不断变大,只要循环不结束,b就不断以十倍开始增大,并每次都带上a的最小位向前推进; 

  //例如-4060   b=0+0;a=-406;/b=0+(-6)=-6;a=-40;/b=-60+0=-60;a=-4;/b=-600+(-4)=-604;a=0/循环结束; 
/*取模运算结果的正负是由左操作数的正负决定的。
 如果%左操作数是正数,那么取模运算的结果是非负数;如果%左操作数是负数,那么取模运算的结果是负数或0。*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值