原型: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 }
看出来什么叫差距了吧,无论从简洁性还是效率上,都比我的好。学习中。。。