用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;
}
相关推荐
凤年徐7 分钟前
C++ 仿 muduo 高并发服务器:用户态缓冲区 Buffer 模块实现
linux·c++
边境悍匪9 分钟前
蜗牛学苑 Java 智能体学习 Day46|贯穿项目 2 思维导图复盘
java·开发语言·vue.js·学习·spring
晴天的雨.9923 小时前
【C++算法】和为s的两个数
开发语言·数据结构·c++·算法
IvanCodes8 小时前
Python 数据处理(十三):JSON、CSV 与数据序列化
开发语言·python
aramae10 小时前
MySQL复合查询(8)
java·c语言·开发语言·后端·算法
荆棘鸟智能10 小时前
城市感知设备怎么统一接入?从多协议网关到设备模型的中间件架构设计
人工智能·算法·边缘计算
qq_25183645712 小时前
springboot vue3 开发实现 拼豆管理系统
java·开发语言·ai编程
郑州光合科技余经理13 小时前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
知识分享小能手13 小时前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
qq_1998868713 小时前
第8板块·第2节:统一内存的高级特性与性能调优
c++·人工智能·gpu算力·cuda