用c++使输入的数字各个位上数字反转得到一个新数

为了使得输入的数字,各个位上的数字反转,我们首先要清楚,如何去取,各个位上的数字,但是因为不知道此时输入的数字是几位数,那么我们就依次去取得他个位上的数字,然后将原来的数字除以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;
}
相关推荐
Bona Sun2 分钟前
单片机手搓掌上游戏机(二十)—pico运行doom之编译环境
c语言·c++·单片机·游戏机
爱丽_30 分钟前
深入理解 Java Socket 编程与线程池:从阻塞 I/O 到高并发处理
java·开发语言
Albert Edison34 分钟前
【项目设计】C++ 高并发内存池
数据结构·c++·单例模式·哈希算法·高并发
我真不会起名字啊1 小时前
C、C++中的sprintf和stringstream的使用
java·c语言·c++
猿饵块1 小时前
ros2--图像/image
c++
资深web全栈开发1 小时前
LeetCode 3625. 统计梯形的数目 II
算法·leetcode·组合数学
橘颂TA1 小时前
【剑斩OFFER】算法的暴力美学——外观数列
算法·leetcode·职场和发展·结构与算法
Liangwei Lin1 小时前
洛谷 P1434 [SHOI2002] 滑雪
算法
多敲代码防脱发1 小时前
为何引入Spring-cloud以及远程调用(RestTemplate)
java·开发语言
plmm烟酒僧1 小时前
TensorRT 推理 YOLO Demo 分享 (Python)
开发语言·python·yolo·tensorrt·runtime·推理