数字反转 逆序数等类似问题

本文详细介绍了一种用于反转整数的算法实现,包括如何保持数字的正负性,并通过实例演示了代码的具体操作流程,适用于初学者理解数字处理的基本逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数字反转

题目

将一个数反转,前导零不输出,不改变正负性。

Input

输入共一行,一个整数N

Output

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

Sample Input

-380

Sample Output

-83

Hint

对于100%的数据,-10^10<=N<=10^10

Source

第三届海润杯上海第二工业大学新生程序设计竞赛

说明

注意要保持正负性,所以用个sign来标记正负;前导0不输出,因此采用累加的方法。

代码(及注释)

#include<bits/stdc++.h>
using namespace std;
int main(void)
{
	long long n,ans=0;//因为数据较大,所以直接开长整型
	int a;
    int sign;//用来保存正负性
	cin>>n;
 	if (n>=0){
		sign=1;
	} 
  	else{
		sign=-1;
		n=-n;
	}
	while(n!=0){//倒序
		a=n%10;
		ans=ans*10+a;
		n/=10;
	}
	cout<<ans*sign;
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值