本帖最后由 逍遥处士 于 2013-9-14 23:35 编辑
' s# ]. c" f: i8 B- E3 F/ v
( }' f! a+ K5 `: Q+ d0 g
8 U7 Y2 _& _# \) r3 N P' \& s a$ F* R* n, J% k2 ]
这是用MathCAD做的计算,程序跟一楼一样,可见第5个也是29,就这来看楼主的程序可能有缺陷。
; _* O1 P. F: [. J* |1 _4 \& h假如齿数为57,则360*3600/57不能整除,问题是否出在这儿?
4 \/ S8 R7 U" D0 i5 X' D1 I/ i8 h1 ~# a7 q
假设所给齿数能整除的话,不妨只考虑将第一个角度依次翻倍,代码如下:" a& w9 x( S/ {: F( g) i @% V
/ j2 L# Q' o- ^# ~* rint a=0, b=0, c=0;
7 B4 j. |9 |, Kwhile ( a<360 )/ B, J8 y" |: P0 p6 F0 ]
{
3 F4 V; ~' g. G4 b c=(c+s)%60; if ( (c+s)>=60 ) b=(c+s)/60;
& [4 a6 G! ]# \. C4 G! e( m6 F b=(b+f)%60; if ( (b+f)>=60 ) a=(b+f)/60;
6 l. O' x( y( d a=a+j;: W9 j/ N& q3 n- M$ z
printf("%d°%d′%d″\n",a,b,c);
! r, E( E/ \. C5 k7 r}
4 w( v% P, H- G4 ?% V0 r" P, L1 p6 F
不妨试一试,看下结果。* ^0 U* t( q- ~2 u. }" N$ D
2 O& X. n* c! `2 I+ ?
|