我试图反转一个大整数(> 100位)。我希望以这样的方式实现它,即忽略原始数字中的尾随零。 ie:reverse(2130200)给出了20312.我的问题是,如何实现reverse(),使大整数中的尾随零不被忽略。 例如:反向(20301205500)给出550210302
这是我为小值实现的代码。
#include <iostream>
using namespace std;
int myreverse(int num)
{
int rev=0;
while(num)
{
rev=rev*10+(num%10);
num/=10;
}
return rev;
}
int main()
{
int num;
cin>>num;
int a1 = myreverse(num);
cout<<a1<<endl;
return 0;
}
答案 0 :(得分:0)
看看这段代码,我希望它会对你有所帮助:
#include <iostream>
using namespace std;
int main()
{
int number = 1234567890;
cout << "Number: " << number << endl;
string str_of_number = to_string(number);
string rvsd_str_of_number(str_of_number.rbegin(), str_of_number.rend());
int rvsd_number = std::atoi(rvsd_str_of_number.c_str());
cout << "Reversed number: " << rvsd_number << endl;
}
输出:
Number: 1234567890
Reversed number: 987654321