欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++ 數(shù)字的反轉(zhuǎn)實現(xiàn)實例

 更新時間:2017年06月30日 08:44:55   投稿:lqh  
這篇文章主要介紹了C++ 數(shù)字的反轉(zhuǎn)實現(xiàn)實例的相關(guān)資料,需要的朋友可以參考下

數(shù)字的反轉(zhuǎn)

 (144)  (0)

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

備注:當數(shù)字溢出時,則程序返回0。

解題思路:

1、用一個變量y(初始化為0)保存改變之后的值;

2、將x的個位取下來,并且y乘上10,然后對加上x;

3、判斷y-x的個位除以10,時候等于變量y(防止數(shù)字溢出),如果不等于則返回0;

4、將x等于x除以10,進一位;

5、當x存在時,循環(huán)2~4;

6、返回y;

可能大家看不懂3過程,我用一個簡單的例子來演示一下。

實現(xiàn)代碼如下:

#include<iostream> 
#include<windows.h> 
using namespace std; 
 
int reverse(int x) { 
    int num = 0; 
    while (x != 0) 
    { 
      int tail = x % 10; 
      int newnum = num * 10 + tail; 
      if ((newnum - tail) / 10 != num) 
      { 
        return 0; 
      } 
      num = newnum; 
      x /= 10; 
    } 
    return num; 
} 

測試用例:

int main() 
{ 
  cout << reverse(123) << endl; 
  cout << reverse(-123) << endl; 
  cout << reverse(1000000003) << endl; 
 
  system("pause"); 
  return 0; 
} 

測試結(jié)果:

如果大家有更好的解法,歡迎大家積極討論。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論