機(jī)械社區(qū)

 找回密碼
 注冊會(huì)員

QQ登錄

只需一步,快速開始

搜索
查看: 5678|回復(fù): 21
打印 上一主題 下一主題

求解一個(gè)C語言程序功能是每隔6°18′54″就增加6°18′54″并輸出結(jié)果的程序問題。

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2013-9-14 17:08:27 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 昨日明月 于 2013-9-14 17:46 編輯 # @5 ^( p1 }- z! T: w

+ l, m6 j0 ]* h% g# include <stdio.h>9 T  D5 s6 K0 E& l
int main(void)
3 s7 }; X0 W8 i# b! C{0 X8 j7 V+ a$ D. C2 [# W
int i;; |. G$ _/ x( \) ~/ D* b  e3 H
int a;7 u9 w. S/ X' i4 ]/ t  T
int b;
/ Z0 k2 h6 z4 ]) u" Kint c;
* X* n% H0 H' V% h5 [. ^9 Ddouble n=0;
7 u- n9 d" [) y    int  m=22734;; _% x+ K, p0 O- m
    for(i=1;i<=57;++i)
" W7 l$ ~' A) l- J1 b% [7 c{6 |! J  h5 g" ~7 n4 a' l! W) X
  n=m*i;8 R5 j+ [- k% D
  a=n/3600;
1 b0 i! ~0 p9 L) g# _# j  b=((n/3600)-a)*60;
7 O3 t# I: s4 c6 E9 S  c=(((n/3600)-a)*60-b)*60;6 Y/ V+ n# w1 a/ F( M) Z6 C+ ^/ ]+ p
  printf("%d°%d′%d″\n",a,b,c);4 T$ K" ~5 y, K( Y9 }
}) v6 u, l- {: [' c# T5 Z( n
return 0;% G& x. \' w  {  t9 v7 V) V
}5 y; S4 I( P: ?' u0 P5 l, M
  C# l5 G5 B. u
輸出結(jié)果:; X8 U! o  P% O3 O
6°18′54″5 d- Y  k6 s! x( m  L* V& q1 C# O
12°37′48″
5 g3 x+ v+ [6 {" [18°56′42″6 Y1 o) `% E: c$ P
25°15′36″2 p& H1 Z  k) f& ~
31°34′29″
。。。。。
% {# `- Q; [3 U. _8 I4 r
341°0′35″% F9 q3 ]2 E! @. }/ {  N6 x
347°19′29″
' g& G& y4 C# e/ D% |; s) H* X353°38′23″8 k# ^: J! L; C6 t/ n) b
359°57′17″
; P' o7 W* _9 M
Press any key to continue
5 t, a3 i' ~$ E* o% P( S第五排正確的結(jié)果應(yīng)該是31°34′30″  想問一下這個(gè)程序哪里出問題了,理論計(jì)算與計(jì)算機(jī)程序計(jì)算結(jié)果相差1秒5 y% j' u4 n1 f3 y; O! o
ps:1°=60′=3600″
; M' t) M7 E4 i9 U
回復(fù)

使用道具 舉報(bào)

2#
發(fā)表于 2013-9-14 17:29:19 | 只看該作者
a,b,c怎么能定義整數(shù)呢,我去

點(diǎn)評

就是要輸出整數(shù),你好好看看程序  發(fā)表于 2013-9-14 17:32
3#
 樓主| 發(fā)表于 2013-9-14 17:32:07 | 只看該作者
就是要輸出整數(shù),你好好看看程序

點(diǎn)評

不可能吧,就那個(gè)算錯(cuò)了,其它56結(jié)果都是對的。  發(fā)表于 2013-9-14 17:35
我也是提個(gè)建議呵呵  發(fā)表于 2013-9-14 17:35
整數(shù)精度不夠吧  發(fā)表于 2013-9-14 17:34
4#
發(fā)表于 2013-9-14 18:47:47 | 只看該作者
不懂
5#
 樓主| 發(fā)表于 2013-9-14 18:53:44 | 只看該作者
風(fēng)隨意 發(fā)表于 2013-9-14 18:47 2 e: [6 A/ h2 |6 @
不懂

/ D7 q% J+ Q) H) @" U就是加工齒輪 需要將360°等分。多少個(gè)齒數(shù)就多少等分! b( I7 e' k  }) b% X, \
6#
 樓主| 發(fā)表于 2013-9-14 19:03:12 | 只看該作者
本帖最后由 昨日明月 于 2013-9-14 19:04 編輯
& I# V/ W8 C1 z  Q( I- C. H5 W  e" }. S2 V8 `# L9 G/ Y, `
http://e-learninguniversity.com/forum.php?mod=attachment&aid=Mjk3MDM4fGRmMDEzNjc3ZDQyODU4ZDM0NzY0ZjljNzJjODBhOGM4fDE3MzEwMTU2OTQ%3D&request=yes&_f=.jpg 完善了程序。

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊會(huì)員

x
7#
發(fā)表于 2013-9-14 19:12:47 | 只看該作者
double也是浮點(diǎn)數(shù)據(jù)類型,它比float更大,這種東西計(jì)算精度不高。) d+ U+ X2 K0 j. [4 v, Q8 u) C! i0 @

8 N4 ], E& w0 K8 `4 s! ^; \/ A) G6 X由于n是doubule型,那a、b、c與n運(yùn)算后,全部自動(dòng)升級為double型了。
, X4 w' u& L( s5 f  Q: ]9 G# a
- |4 d/ X' r: L; V% E4 Z" |" T由于360*3600=1296000,已經(jīng)超過int的最大值范圍了,對這種超大的整數(shù)運(yùn)算,你需要使用“大數(shù)運(yùn)算”的方法去處理。( N7 ]% I; Q& F% \: \2 Y; G

5 a! k, P! q3 z關(guān)于C語言的大數(shù)運(yùn)算,網(wǎng)上有很多相關(guān)的資料。
8#
 樓主| 發(fā)表于 2013-9-14 19:55:38 | 只看該作者
fmdd 發(fā)表于 2013-9-14 19:12
$ \0 |+ {# \' q5 o7 ldouble也是浮點(diǎn)數(shù)據(jù)類型,它比float更大,這種東西計(jì)算精度不高。3 c8 }! X; v. J  h/ B$ @' b% I

& \0 G8 ~6 W& i4 v9 J. D由于n是doubule型,那a、b、c與n運(yùn)算后 ...
0 y! Z+ k( u8 N  I! b  _
嗯 謝謝。
. w2 d' ^. w2 s$ V$ a
9#
發(fā)表于 2013-9-14 23:09:36 | 只看該作者
學(xué)習(xí)來了
10#
發(fā)表于 2013-9-14 23:10:45 | 只看該作者
fmdd 發(fā)表于 2013-9-14 19:12 ; I8 D4 ~5 x& X; a, K: W8 n) E- r# J
double也是浮點(diǎn)數(shù)據(jù)類型,它比float更大,這種東西計(jì)算精度不高。
/ d" Y, e1 `! _/ U1 {2 i# _  x+ C. A6 K7 Y) i3 b
由于n是doubule型,那a、b、c與n運(yùn)算后 ...

2 j# M; ^5 C. `1 g7 S在32位機(jī)器上,int占用4個(gè)字節(jié),1個(gè)字節(jié)8位,故int共可表示2^32=4294967296種信息,32位的第一位為符號位,故其值域?yàn)?-2147483648 ~ +2147483648,容納樓主的數(shù)值還是有余的,沒有超范圍。
. }7 _6 U* d: x9 F$ c7 e6 S* K1 w" z1 a- y3 M- v1 d+ c
a=n/3600,在計(jì)算n/3600時(shí),會(huì)建立一個(gè)double型的臨時(shí)變量用以存放結(jié)果,然后再將結(jié)果的整數(shù)部分賦值給a,而不會(huì)將a升級成double型。因?yàn)閍、b、c被定義成int時(shí),在內(nèi)存中已經(jīng)被分配了4個(gè)字節(jié),而double型占用的是8個(gè)字節(jié),所以它們是不可能升級成double型的。
5 O% W8 @' Y0 ?2 O& z- I% C0 J' g( \% q& e$ o2 V2 Q) f
您需要登錄后才可以回帖 登錄 | 注冊會(huì)員

本版積分規(guī)則

小黑屋|手機(jī)版|Archiver|機(jī)械社區(qū) ( 京ICP備10217105號-1,京ICP證050210號,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2024-11-8 05:41 , Processed in 0.062673 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表