本帖最后由 逍遥处士 于 2013-9-14 23:35 编辑
- t# |% J* T* ]- M5 F/ e. R: }7 ]+ u0 Z+ g. \8 J
$ g7 M: q% S1 t* q, [) H
* h& Q+ z0 o& j5 k这是用MathCAD做的计算,程序跟一楼一样,可见第5个也是29,就这来看楼主的程序可能有缺陷。 C& Y8 }' t* z: W' Q5 B
假如齿数为57,则360*3600/57不能整除,问题是否出在这儿?
$ n* p. e0 ~: d4 E) J4 ?; d* e7 A: f8 U9 c9 \) Q7 e% u! q
假设所给齿数能整除的话,不妨只考虑将第一个角度依次翻倍,代码如下:
7 a$ O! S8 Z! m3 N5 C; i Q
' d6 @0 Q) ]0 yint a=0, b=0, c=0; % j! i1 E& Y) K% e8 A# i# ^. D
while ( a<360 ) v ]5 t" h8 ?, L; l
{" ~( G) [4 L# L& z, Y+ l8 }7 J
c=(c+s)%60; if ( (c+s)>=60 ) b=(c+s)/60;
# Z* o# m( z7 r3 E b=(b+f)%60; if ( (b+f)>=60 ) a=(b+f)/60;
" O( C& N' i1 v8 } a=a+j;6 `$ J# k; d, `% V. r- X
printf("%d°%d′%d″\n",a,b,c);* g C4 P3 n7 N- t: i- Y* ^ _3 f, j
}6 H" z% }! A3 K9 u
- L# f1 n/ ]$ _8 w
不妨试一试,看下结果。* `8 \" e* s+ R& }9 G
- X) Q' ? V h$ X F c- |; ?
|