输出一个整数的倒数

最近考了c++的一道倒序输出题,尴尬了,竟然想了好久,发个博客以显示自己菜的抠脚。

题目是输出整数“12345”的倒序数:

题目的过程应该是这样:

12345%10 = 5

12345/10 =1234

1234%10 = 4

1234/10 = 123

。。

#include<iostream>
using namespace std;
int main()
{
	int n=12345,d;
	while (n!=0)
 	{
	 	d=n%10;
	 	cout<<d;
	 	n/=10;
 	}
	return 0;
}

今天又在洛谷上面发现了一道相似题:

题目描述

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

如:输入-520,输出 -25;

输入123,输出 321;

数据范围

-1,000,000,000≤N≤1,000,000,000

1,000,000,000N1,000,000,000 

此题思路与上面相似,只是需要使用LL来存n和d;输入负数时,转化为正数;在while之中不能cout << d ,因为如果是4000,则会输出004,所以用和来存结果;

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	long long int n,d;
	cin>>n;
	if(n<0)
	{
		cout << "-";
		n = -n;
	}
	if(n%10==0)
		n=n/10;
	int sum=0;
	while(n!=0)
	{
		d=n%10;
		sum=10*sum+d; 
		n/=10;
	} 
	cout << sum; 
	return 0;
 } 



猜你喜欢

转载自blog.csdn.net/dyd850804/article/details/80626462
今日推荐