华为机试 数字颠倒(简单)
数字颠倒
http://www.nowcoder.com/questionTerminal/ae809795fca34687a48b172186e3dafe
题目描述
输入一个整数,将这个整数以字符串的形式逆序输出
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001
输入描述:
输入一个int整数
输出描述:
将这个整数以字符串的形式逆序输出
方法1
速度最快,不考虑转换成字符串,直接数字倒序输出
#include<iostream>
using namespace std;
int main(){
int num;
cin>>num;
while(num){
cout<<num%10;
num=num/10;
}
return 0;
}
方法2
利用函数转换成字符串,reverse
#include<algorithm>
string s=to_string(num);
reverse(s.begin(),s.end());
cout<<s;方法3
通过stringstream转换成字符串后,前后交换
#include<iostream>
#include<string>
#include<sstream>
string s;
stringstream sstream;
sstream<<num;
sstream>>s;
for(int i=0;i<s.size()/2;i++)
{
swap(s[i],s[s.size()-1-i]);
}
cout<<s;