本帖最后由 逍遥处士 于 2013-9-14 23:35 编辑 ( E+ _ j6 n" ^1 @# w' x
0 L' I; j! ?, Y. x; v+ K. {3 B/ }% @2 f3 ]% C- G
5 M, a2 s9 ~+ W6 I: w8 w8 R# c3 N X
这是用MathCAD做的计算,程序跟一楼一样,可见第5个也是29,就这来看楼主的程序可能有缺陷。. s5 B f0 j, n* f* o
假如齿数为57,则360*3600/57不能整除,问题是否出在这儿?
3 `6 N4 D' b' @ B( `( _: W& t( w
$ @# w0 G1 ?! S# F* U- M6 `假设所给齿数能整除的话,不妨只考虑将第一个角度依次翻倍,代码如下:
) V g+ [7 d+ S6 S1 e" V+ a# r4 A/ C# T( |) t# Y
int a=0, b=0, c=0;
W+ F0 M2 ~# j' twhile ( a<360 )1 N& a- `5 F% Z& {; T: x
{' d( ?2 a% j7 a8 L% U2 _
c=(c+s)%60; if ( (c+s)>=60 ) b=(c+s)/60; $ p7 {" P& C. P8 ?. B( N
b=(b+f)%60; if ( (b+f)>=60 ) a=(b+f)/60; $ A7 E& I% W. M6 ^
a=a+j;" z6 ^- S6 y) t* \+ r# C. |6 T3 y4 A
printf("%d°%d′%d″\n",a,b,c);! p$ Y7 [# |( {3 X1 h; U
}
: B$ Y1 A# B. E' Y6 C$ N: U6 l+ _2 J: I, j9 Z2 @
不妨试一试,看下结果。5 S: F6 g7 E Y. Q7 a
3 N N* c. a% R J
|