整数求反

CSDN编程挑战里的题目

完成函数reverse,要求实现把给定的一个整数取其相反数的功能,
举两个例子如下: 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 }

 

 

posted on 2014-01-15 11:57  叶飞影  阅读(475)  评论(0编辑  收藏  举报