数字反转(蓝桥杯)

数字反转

题目描述

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见实例 2)。

输入描述

输入共 1 行,一个整数 −109≤N≤109

输出描述

输出共 1 行,一个整数,表示反转后的新数。

输入输出样例

示例 1

输入
c 复制代码
123
输出
c 复制代码
321

示例 2

输入
c 复制代码
-380
输出
c 复制代码
-83

c++

c 复制代码
#include<bits/stdc++.h>
using namespace std;

int main()
{
  string a;
  cin>>a;
  int flag=0;
  if(a[0]=='-')
  {
    a.erase(a.begin());//删除'-'号
    flag=1;//标记
  }
  reverse(a.begin(),a.end());//反转字符串
  while(a[0]=='0')
    a.erase(a.begin());//删除反转后首位的0
  if(flag==1)
  	a='-'+a;//还原'-'号
  cout<<a;
  return 0;
}

C语言

c 复制代码
#include<stdio.h>
#define ll long long int
int main()
{
  ll a=0;
  scanf("%lld",&a);
  ll b=0;
  while(a!=0)
  {
    b=b*10+a%10;//取出每一位(从个位开始取),再乘10,当然,取出个位时,不用乘10,所以b初始等于0
    a/=10;
  }
  printf("%lld",b);
  return 0;
}
相关推荐
澈2074 分钟前
C++多态编程:从原理到实战
开发语言·c++
聆风吟º13 分钟前
【C标准库】深入理解C语言strcat函数:字符串拼接的利器
c语言·开发语言·strcat·库函数
6Hzlia15 分钟前
【Hot 100 刷题计划】 LeetCode 24. 两两交换链表中的节点 | C++ 精准指针舞步
c++·leetcode·链表
隔壁大炮22 分钟前
Day07-RNN介绍
人工智能·pytorch·rnn·深度学习·神经网络·算法·numpy
汉克老师1 小时前
GESP2025年6月认证C++五级( 第一部分选择题(9-15))
c++·贪心算法·分治算法·二分算法·gesp5级·gesp五级·高精度除法
WL_Aurora1 小时前
Python 算法基础篇之什么是算法
python·算法
墨染天姬1 小时前
[AI]DeepSeek-R1的GRPO算法
人工智能·算法·php
D_C_tyu1 小时前
JavaScript | 数独游戏核心算法实现
javascript·算法·游戏
qiqsevenqiqiqiqi1 小时前
MT2048三连 暴力→数学推导→O (n) 优化
数据结构·c++·算法
ximu_polaris1 小时前
设计模式(C++)-行为型模式-模版方法模式
c++·设计模式