[英]Keeping a running total of numbers entered LMC
我正在制作一個程序,允許用戶無限期地輸入數字,直到他們輸入“0”。 一旦他們輸入 0 程序應該停止。 但是,我想將輸入的每個數字添加到運行總數中,並在每次用戶輸入新數字時輸出總數。 例如:
輸入 = 2
總計 = 2
輸入 = 2
總計 = 4
輸入 = 3
總計 = 7
輸入 = 0
程序停止
代碼:
START INP
ADD TOTAL
OUT
BRA START
HLT
TOTAL DAT 000
上面的代碼無限期地接受用戶輸入但輸出單個數字(不保持運行總數)。 我想知道如何保持輸入的所有數字的運行總數,並在用戶在 LMC 中輸入 0 時停止程序。 提前致謝。
您的代碼中只缺少兩件事:
測試輸入是否為零並停止程序。 您可以在輸入后立即使用簡單的BRZ
指令執行此操作,然后讓它分支到HLT
指令——為此需要一個標簽。
每次計算總和時更新總和。 目前,一旦輸出總和,您就會“忘記”總和,因此在下一個循環中,總和仍將為零。 只需在完成添加后立即添加STA TOTAL
。
這是一個可運行的代碼段:
START INP BRZ STOP # stop when user entered 0 ADD TOTAL STA TOTAL # save result, so it accumulates OUT BRA START STOP HLT TOTAL DAT 000 <script src="https://cdn.jsdelivr.net/gh/trincot/lmc@v0.816/lmc.js"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.