为了使得输入的数字,各个位上的数字反转,我们首先要清楚,如何去取,各个位上的数字,但是因为不知道此时输入的数字是几位数,那么我们就依次去取得他个位上的数字,然后将原来的数字除以10,接着继续取个位上的数字,那么就能把数字全部取出,具体代码如下:
cpp
#include <iostream>
#include <math.h>
using namespace std;
int main(){
int n , result = 0 , a = 0;
bool isNegative = false; //判断是否为负数,默认为正数
cin >> n; //输入要反转的数
while(n != 0){ //是0则直接输出0 不是0则一直除到为0 那么就把该数的所有位数取出
if(n < 0){
n = abs(n); //如果n小于0 则用abs公式取他的绝对值
isNegative = true;
}
a = n%10; //取出此时个位上的数字
n = n/10; //取掉上述a之后,n的值
result = result*10 + a; //将取得的数填入,eg:123 取3 0*10 + 3 = 3 继续取 3*10 +2 =32
}
if(isNegative){
result *= -1; //如果是负数则整体乘以-1
}
cout << result << endl;
return 0;
}