您的位置:首页 > 编程语言 > C语言/C++

C++ - 整数反转

2013-12-11 14:34 260 查看
题目很简单,完成函数reverse,要求实现把给定的一个整数反转。
举两个例子如下:x = 123,return 321;x = -123,return -321。
#include <iostream>

int reverse(int x)
{
// The result integer to be returned.
int result = 0;

// The reminder.
int reminder;

// The sentinel to indicate positive or negative.
int negative = 0;

// Make negative number be positive and set sentinel.
if(x < 0)
{
x = -x;
negative = 1;
}

// This loop do the "Inverse".
while(x % 10 >= 0 && x > 0)
{
reminder = x % 10;
result = result * 10 + reminder;
x = (int)x / 10;
}

// Restore to negative by sentinel.
if(negative == 1)
{
result = -result;
}

return result;
}

int main()
{
int num1 = 344;
int num2 = -90334;
printf("%d\r\n", reverse(num1));
printf("%d\r\n", reverse(num2));

return 0;
}

// Output:
/*
443
-43309
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 整数反转