本帖最后由 逍遙處士 于 2013-9-14 23:35 編輯
. F' @2 y8 d6 X. A# Y
: v: A+ Q: N- T8 S. n8 v& B& x7 t
: V5 |. C3 H) T% p8 ~
這是用MathCAD做的計算,程序跟一樓一樣,可見第5個也是29,就這來看樓主的程序可能有缺陷。
' [( S8 g! b) j' u假如齒數(shù)為57,則360*3600/57不能整除,問題是否出在這兒?
+ Q& G6 X5 `- W& ]7 Y1 J R) [& F; v$ L3 |, X. B6 {; ^
假設(shè)所給齒數(shù)能整除的話,不妨只考慮將第一個角度依次翻倍,代碼如下:* M. c3 [$ X: B& i. m
9 w) R1 n% {0 C5 T1 W
int a=0, b=0, c=0; p% X6 A- E/ ?$ I1 O" C% B* |4 w
while ( a<360 )
4 @0 x1 P6 [) `( E8 f{
, V* s# d2 y8 } c=(c+s)%60; if ( (c+s)>=60 ) b=(c+s)/60;
: g9 Q8 \: `# g% e* y! K* v b=(b+f)%60; if ( (b+f)>=60 ) a=(b+f)/60;
- f) M3 Z" ?* ^ u' ^+ W a=a+j;) M9 E; y- T6 ~9 q% A
printf("%d°%d′%d″\n",a,b,c);
! c% ]( L$ N" f+ P( ~}/ V: X- K! R& |2 @3 f
V$ }- W( D4 b. u! O6 T不妨試一試,看下結(jié)果。' k1 v9 ^+ G5 s' r- ]
& m4 w r, T3 p: {8 W; I5 Y
|