原型:unsigned Reverse(unsigned int n) ;
我的代码:用了浮点函数log10, pow不仅效率低,还会损失精度。
1
unsigned Reverse(unsigned n)
2 {
3 int digits = ( int )log10(( double )n) ;
4
5 int r = 0 ;
6 while (n)
7 {
8 int t = n % 10 ;
9 r += t * pow(( double ) 10 , digits -- ) ;
10 n /= 10 ;
11 }
12 return r ;
13 }
2 {
3 int digits = ( int )log10(( double )n) ;
4
5 int r = 0 ;
6 while (n)
7 {
8 int t = n % 10 ;
9 r += t * pow(( double ) 10 , digits -- ) ;
10 n /= 10 ;
11 }
12 return r ;
13 }
星星的代码:
1
unsigned Reverse( unsigned a )
2 {
3 unsigned b = 0 ;
4 for ( ; a; a /= 10 )
5 {
6 b = b * 10 + a % 10 ;
7 }
8 return b;
9 }
2 {
3 unsigned b = 0 ;
4 for ( ; a; a /= 10 )
5 {
6 b = b * 10 + a % 10 ;
7 }
8 return b;
9 }
看出来什么叫差距了吧,无论从简洁性还是效率上,都比我的好。学习中。。。
本文转自zdd博客园博客,原文链接:http://www.cnblogs.com/graphics/archive/2010/03/12/1684569.html,如需转载请自行联系原作者