Re: [問題] 大數加法的問題

看板C_and_CPP作者 ( )時間15年前 (2010/06/18 06:14), 編輯推噓1(1020)
留言21則, 3人參與, 最新討論串4/5 (看更多)
(恕刪) iLength是為了讓你了解如何轉換字串與數字 當你今天有加數又有被加數的時候 是不是要考慮多一個iLength2? 這樣直接貼是寫不出來的... 假設 你輸入1 + 123456789 那麼你只有iLength 這裡他只會=1 你勢必在增加一個變數去紀錄 123456789的長度 不然他只會加一次 另外 Dev C有一個很好用的工具叫做新增監看式 在視窗左邊有一個除錯/監看 你可以去觀察變數的變化 如果不會用 你可以利用printf去把值 印出來 去看看你轉出來的結果是不是正確的 SUM[iHelp-1]=SUM[iHelp]+iInput1[iHelp]+iInput2[iHelp]/10; 改成 SUM[iHelp-1]=SUM[iHelp]+((iInput1[iHelp]+iInput2[iHelp])/10); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.226.245

06/18 14:22, , 1F
他有重新把第二個陣列的長度給ilength,應該沒差啦XD
06/18 14:22, 1F

06/18 14:26, , 2F
漏看了@@..
06/18 14:26, 2F

06/18 14:30, , 3F
抱歉 那是我整理時忘了刪掉XD
06/18 14:30, 3F

06/18 14:31, , 4F
前面數字會很奇怪好像是因為 加法裡面沒有() 只有最後有
06/18 14:31, 4F

06/18 14:31, , 5F
做/10跟%10
06/18 14:31, 5F

06/18 14:31, , 6F
修改之後前面數字正常了
06/18 14:31, 6F

06/18 14:32, , 7F
可是進位好像還是有點問題
06/18 14:32, 7F

06/18 14:35, , 8F
把SUM[iHelp-1]那裡後面的iInput1跟2都拿掉 重覆加了
06/18 14:35, 8F

06/18 14:36, , 9F
啊 有點錯 有工作要忙先離開XD
06/18 14:36, 9F

06/18 14:36, , 10F
像是1234+1234會印出2578
06/18 14:36, 10F

06/18 14:37, , 11F
除了最大跟最小似乎都會+1
06/18 14:37, 11F

06/18 14:45, , 12F
如果把後面拿掉 就會變成不會進位了
06/18 14:45, 12F

06/18 14:46, , 13F
因為%10已經把SUM變成個位數
06/18 14:46, 13F

06/18 14:46, , 14F
在/10就變成0了= =
06/18 14:46, 14F
※ 編輯: Bermuda 來自: 140.116.226.202 (06/18 14:49)

06/18 14:50, , 15F
我把加法部分重寫過就OK囉
06/18 14:50, 15F

06/18 14:51, , 16F
謝謝各位的幫忙=)
06/18 14:51, 16F

06/18 14:52, , 17F
我的作法是把上下兩行順序顛倒 SUM就不會先被寫過
06/18 14:52, 17F

06/18 14:52, , 18F
進位部份先算出來就好了
06/18 14:52, 18F

06/18 14:54, , 19F
請問有辦法不顯示前面的0嗎?
06/18 14:54, 19F

06/18 15:15, , 20F
另外..我想要讓他不能做小數點運算
06/18 15:15, 20F

06/18 15:15, , 21F
有辦法做出scanf抓到的是浮點數時終止程式媽?
06/18 15:15, 21F
文章代碼(AID): #1C6mxEyh (C_and_CPP)
文章代碼(AID): #1C6mxEyh (C_and_CPP)