|
本帖最后由 逍遙處士 于 2013-9-14 23:35 編輯
+ u0 a% D. x) \' e* R6 p# I$ {9 x6 J% |* Y% M
0 f' f3 v( P8 r9 r+ K
+ O9 w: p7 t Q4 e這是用MathCAD做的計(jì)算,程序跟一樓一樣,可見(jiàn)第5個(gè)也是29,就這來(lái)看樓主的程序可能有缺陷。
% D* K; U7 ^+ W3 @6 I假如齒數(shù)為57,則360*3600/57不能整除,問(wèn)題是否出在這兒?
! w: \, `" Y7 b9 g" e" Y ]% w
9 S( g) d. D. z8 D7 f" Q) N假設(shè)所給齒數(shù)能整除的話,不妨只考慮將第一個(gè)角度依次翻倍,代碼如下:/ G" K; r/ o7 W7 _
7 [ z- Y+ ~6 Y0 w, C( U* W3 z0 w4 x
int a=0, b=0, c=0;
{% B* s- A+ Y8 p) rwhile ( a<360 )
; X H( V$ E! u- v* }{
! r4 H& T6 }; h0 }% q1 c% L9 s `, F c=(c+s)%60; if ( (c+s)>=60 ) b=(c+s)/60; 2 x* @2 Y0 K; F; g& F/ ]$ \
b=(b+f)%60; if ( (b+f)>=60 ) a=(b+f)/60; : j( b6 I9 z. ?1 O
a=a+j;
4 {: B) y+ C! C) k7 d printf("%d°%d′%d″\n",a,b,c);, R7 }5 e( K% g% z5 H
}7 R+ ]' V- y' N( Q+ B
& A7 b* ^, w2 g5 K不妨試一試,看下結(jié)果。+ J; ] f/ T0 M/ T6 I
1 G! z4 c. {: {
|
|