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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

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

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2013-9-14 17:08:27 | 只看該作者 回帖獎勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 昨日明月 于 2013-9-14 17:46 編輯
1 G( s4 O3 }( c* ^4 m% T2 w7 U9 P& O# I' L  E. r3 N' s* @
# include <stdio.h>
* W9 S8 e+ z, q5 f% J( ?int main(void)
# o. ^' S( K! Q+ _{
; P1 g$ o* `. A2 n8 @( v& y( `3 Bint i;; {1 s9 c" ]3 c+ s5 A7 j
int a;
. P  C) ]4 e; _  q7 xint b;' ^/ u4 m! j- y3 _5 y, u+ F
int c;5 Y& U& f, r& U1 m& o
double n=0;
9 H% C) R0 {# J4 R! ~& I$ j8 _9 n    int  m=22734;; `% M# @* G9 z/ V8 W
    for(i=1;i<=57;++i)( w# a( P6 e% Y" F
{
! T+ u/ Z# ]1 m% Z  n=m*i;
1 n4 e9 g& H9 O$ _, e6 C  a=n/3600;1 N! D8 U: S" Z7 b: j* V
  b=((n/3600)-a)*60;
* x8 G- B7 a) j' h  c=(((n/3600)-a)*60-b)*60;3 L. W# ]6 T9 k& @" a' @6 K
  printf("%d°%d′%d″\n",a,b,c);
- p- {/ W3 h4 X6 P) ?2 y}
. C1 Q! _* l$ S: O3 Z8 r) h( Breturn 0;
; i6 r/ t) P2 v7 ~1 K* M- i- @}' u" E2 x. A" W9 w9 h

, M3 X. i& _/ S5 ]8 G7 o輸出結(jié)果:' ]; ~2 Q' |+ b2 ~: K+ }# q
6°18′54″
8 q$ V1 K/ V, Y% h/ W& H+ p12°37′48″* z4 ~; ~6 r$ W# N1 m" h
18°56′42″; l' M3 O& W+ Z/ J: ]
25°15′36″
& ?! h1 w& ?7 U4 P/ b31°34′29″
。。。。。6 U; `% ~5 c' z. k. a, B
341°0′35″
' L' [, V  l: C2 A' ~347°19′29″4 [9 c$ J$ k" R* _4 C
353°38′23″
( n" v0 M, }7 C, D359°57′17″

: R7 m: Z- O% K
Press any key to continue
2 L  P. U1 M, b( {) J第五排正確的結(jié)果應(yīng)該是31°34′30″  想問一下這個(gè)程序哪里出問題了,理論計(jì)算與計(jì)算機(jī)程序計(jì)算結(jié)果相差1秒
: [- ?5 y$ y$ j" t& B" Z4 s3 Zps:1°=60′=3600″
4 X3 c, \5 r3 _" M& S
回復(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
" L, @/ v) F4 i6 {- ~不懂

; o, ^& Y9 D# Z  R, u" X3 d就是加工齒輪 需要將360°等分。多少個(gè)齒數(shù)就多少等分
# r$ V% M8 f8 c
6#
 樓主| 發(fā)表于 2013-9-14 19:03:12 | 只看該作者
本帖最后由 昨日明月 于 2013-9-14 19:04 編輯 ' T7 R4 K) Z0 M: d

* x  H% ]+ @2 |% O: h% ^; i3 w: Ihttp://e-learninguniversity.com/forum.php?mod=attachment&aid=Mjk3MDM4fDVlMTczZjYwZjBjYjAzNDA1NjQ1ZjEwYjNiNzIxYThkfDE3MzIwMDUxNjc%3D&request=yes&_f=.jpg 完善了程序。

本帖子中包含更多資源

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

x
7#
發(fā)表于 2013-9-14 19:12:47 | 只看該作者
double也是浮點(diǎn)數(shù)據(jù)類型,它比float更大,這種東西計(jì)算精度不高。
4 R) b4 E, V2 r* E/ l
& v1 x  X( ~2 h  O) N6 K6 g# x由于n是doubule型,那a、b、c與n運(yùn)算后,全部自動升級為double型了。
, \8 A9 U8 q2 l: W. h+ j. w8 q
! ]# e1 w3 G- Z) _$ c, x由于360*3600=1296000,已經(jīng)超過int的最大值范圍了,對這種超大的整數(shù)運(yùn)算,你需要使用“大數(shù)運(yùn)算”的方法去處理。
& }3 F1 q* d+ H- K1 ?3 L/ G1 O. O. j
) `$ r! Z# v* y' z0 m+ T/ _7 |, D關(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   S0 P3 c7 T5 p0 K) V3 K" g
double也是浮點(diǎn)數(shù)據(jù)類型,它比float更大,這種東西計(jì)算精度不高。
% ^2 g1 B8 C8 B& Y$ O' {7 C% H$ \! P- F  c, R, U7 Q  @
由于n是doubule型,那a、b、c與n運(yùn)算后 ...
1 L6 Y! L9 S- \
嗯 謝謝。( h6 t5 m7 X( n4 O2 w
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
$ O7 O' y% l3 w, adouble也是浮點(diǎn)數(shù)據(jù)類型,它比float更大,這種東西計(jì)算精度不高。4 I2 F9 c. \' g7 k+ ^; h$ L% t

( T. X8 a- y, d. g$ e由于n是doubule型,那a、b、c與n運(yùn)算后 ...
; l4 T% ]3 U) c  g8 P4 Y" K. V
在32位機(jī)器上,int占用4個(gè)字節(jié),1個(gè)字節(jié)8位,故int共可表示2^32=4294967296種信息,32位的第一位為符號位,故其值域?yàn)?-2147483648 ~ +2147483648,容納樓主的數(shù)值還是有余的,沒有超范圍。
$ v# V& u9 J" \, o
4 R% X% w7 ]# K# V! S8 z7 fa=n/3600,在計(jì)算n/3600時(shí),會建立一個(gè)double型的臨時(shí)變量用以存放結(jié)果,然后再將結(jié)果的整數(shù)部分賦值給a,而不會將a升級成double型。因?yàn)閍、b、c被定義成int時(shí),在內(nèi)存中已經(jīng)被分配了4個(gè)字節(jié),而double型占用的是8個(gè)字節(jié),所以它們是不可能升級成double型的。
* z; i# W' I2 p5 n3 n$ w3 }& u) B7 h! y- @( {& o
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

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

GMT+8, 2024-11-19 16:32 , Processed in 0.060229 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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