2017-04-12 68 views
-1

使用C++編寫一個程序,要求用戶輸入一個整數分,然後輸出每種類型的硬幣有多少可以用最少的硬幣總數表示該數量。請不要循環。C++開始程序

實施例輸出 輸入美分:變化: 問:1 d:2 N:0 ,P:3

+0

喂 - 你說‘不循環’-EDITED(我想在發佈前徹底) - 這是可能的 - 但你需要mods(%)和divs(int(/)) - 試一試,讓我知道你是否需要代碼 – John

+0

是的,它必須在沒有循環的情況下完成。 – user7857768

+0

我不明白你的問題 –

回答

0

這裏的一個功能,和幾行......,這可能有助於指向你想要的方向

int iQ = coincount(c, 25); 
c = c - (iQ * 25); 

---- 
int coincount(int iTotal, int iCoin) 
{ 
    return ((int) iTotal/iCoin); 
} 
+0

整數除法是使用一個循環,嘖嘖。 – Geoff

+0

@Corey - 真,但他的排斥似乎是C++循環(while/for),而不是內部的asm – John

0

正如有人在提到的評論中,這可以使用一系列的分裂和MODS來解決。各部門會告訴你有多少種類型的硬幣,而模組會告訴你你剩下多少錢要分配給較小的面值。

對於初學者,您需要聲明一些int s來存儲硬幣金額。樣式各不相同,但像int NumQuarters,int NumDimes等應該就足夠了。在用戶輸入之後立即聲明這些內容。

然後硬幣計數只是c由給定硬幣的價值分歧,其中最大面額的開始:

NumQuarters = c/Q;

要確保你只分發什麼留下來的小面額,MOD你用戶通過同一枚硬幣的價值和商店放回c輸入:

c = c % Q;

重複同樣的所有面值的過程,你會有你的硬幣計數。然後,只需將其插入到cout的,你應該做的:

cout << "Q: " << NumQuarters << "\n";