|
本帖最后由 逍遙處士 于 2013-9-14 23:35 編輯
& Y& l" L! K2 ^7 m$ g
1 G/ U, l/ n; q: K3 H) B2 E4 z# C/ i, r H
0 q& N1 `/ x- r9 O6 }
這是用MathCAD做的計(jì)算,程序跟一樓一樣,可見第5個(gè)也是29,就這來看樓主的程序可能有缺陷。
5 T( `, I7 X; l$ l! r假如齒數(shù)為57,則360*3600/57不能整除,問題是否出在這兒?( q3 n, U+ l3 z
% Z k! |- k) c4 L" ^/ y4 R& w9 W
假設(shè)所給齒數(shù)能整除的話,不妨只考慮將第一個(gè)角度依次翻倍,代碼如下:
, d$ U3 K$ t( o! G. G8 w# m5 H# J7 E' R
int a=0, b=0, c=0;
+ L$ f8 e+ n5 A8 ?% a A4 H0 R" W p1 Wwhile ( a<360 )
: k: Y7 c8 L8 T1 v{
) e m5 f3 P3 Q* `* F9 d& A; T; a* W c=(c+s)%60; if ( (c+s)>=60 ) b=(c+s)/60;
8 n$ ?. c' ?% A b=(b+f)%60; if ( (b+f)>=60 ) a=(b+f)/60;
0 u/ Y7 P$ V, J8 C a=a+j;' `9 H; m$ B! ^; h# e* d% g
printf("%d°%d′%d″\n",a,b,c);8 a9 V2 ^( R# \% @* c y
}0 P( n) G* Y- Y/ ~7 i, y
; M' O6 I/ o& A% I1 \- E7 }. ]! a不妨試一試,看下結(jié)果。- @5 B5 _- X; W, ]
! w) }- L- O( A: \7 p# O
|
|