反转一个整数
原型: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?}
星星的代碼:
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?}
看出來什么叫差距了吧,無論從簡潔性還是效率上,都比我的好。學習中。。。
總結
- 上一篇: 软件工程师,你的价值在哪里?
- 下一篇: 动态内存(Dynamic Memory)