|
本帖最后由 逍遙處士 于 2013-9-14 23:35 編輯
% t* B4 a* L; S$ o1 U' ]. t6 ]) l9 w; i$ N
9 U5 z( k" j" A1 y8 b+ Y+ Y2 G
2 Q/ j( _" ?4 H& W. u$ ~這是用MathCAD做的計(jì)算,,程序跟一樓一樣,,可見第5個(gè)也是29,就這來看樓主的程序可能有缺陷。
$ _3 Y+ z! Q w假如齒數(shù)為57,,則360*3600/57不能整除,,問題是否出在這兒?
( {5 ]1 R2 [/ G- Z* c' @# Z* T9 C- T$ ~' Z J" a3 W
假設(shè)所給齒數(shù)能整除的話,,不妨只考慮將第一個(gè)角度依次翻倍,,代碼如下:7 n" n' K7 K7 s
% N: |/ U3 P; e0 j) [
int a=0, b=0, c=0; : V; i, a5 w3 O* k3 P2 N2 T# p
while ( a<360 ), u* U% J& G; c# d+ |
{7 J3 z a1 |0 k8 ?/ t5 `! q
c=(c+s)%60; if ( (c+s)>=60 ) b=(c+s)/60;
1 f2 Q! ]" G8 L9 | b=(b+f)%60; if ( (b+f)>=60 ) a=(b+f)/60;
+ o7 e$ o4 O) _0 y0 o3 O a=a+j;
% y) S+ C* `" F- _ printf("%d°%d′%d″\n",a,b,c);
5 G& t$ w4 e* g1 Q}
7 [7 Z3 j, u; \/ N
" ?+ m) E/ ^+ `4 j# v. G) c/ ]不妨試一試,看下結(jié)果,。 ^. O* V& c; o8 S0 ]) d, a
2 t" I, Q( T- {0 [
|
|