整数の反転

4299 ワード

CSDNプログラミングの挑戦の中のテーマ
関数reverseを完了し、与えられた整数をその逆数にする機能を実現することが要求される.2つの例を挙げると、x=123、return 321 x=-123、return-321
この問題は易しくて,一撃で命中した.
 1 #include <cmath>
 2 #include <cstring>
 3 #include <cstdio>
 4 
 5 int IntegerReverse(int i)
 6 {
 7     bool negative = false;
 8     if (i < 0)
 9     {
10         negative = true;
11         i = -i;
12     }
13     int numList[32];
14     int numCount = 0;
15     while (i)
16     {
17         numList[numCount] = i % 10;
18         i /= 10;
19         numCount++;
20     }
21 
22     int rst = 0;
23     int n = 1;
24     for (int i = numCount - 1; i >= 0; i--)
25     {
26         rst += numList[i]*n;
27         n *= 10;
28     }
29 
30     if (negative)
31     {
32         rst = -rst;
33     }
34 
35     return rst;
36 }