は、あなたが使用する必要はありません量ループを使うと、単純にお金を分けて、残りの演算子を使って総額から引き算することができます。
コンパイル可能例:$ 255.50を入力するための
public class Program
{
static void Main(string[] args)
{
decimal money = 255.50M;
int hundredDollarBills = subtract(ref money, 100);
int fiftyDollarBills = subtract(ref money, 50);
int twentyDollarBills = subtract(ref money, 20);
int tenDollarBills = subtract(ref money, 10);
int singleDillarBills = subtract(ref money, 1);
int fiftyCentCoins = subtract(ref money, 0.50M);
int twentyCentCoins = subtract(ref money, 0.20M);
int tenCentCoins = subtract(ref money, 0.10M);
int fiveCentCoins = subtract(ref money, 0.05M);
int twoCentCoins = subtract(ref money, 0.02M);
int oneCentCoins = subtract(ref money, 0.01M);
Console.WriteLine("Total amount of change: " + hundredDollarBills + " $100,\n" + fiftyDollarBills + " $50,\n" + twentyDollarBills + " $20,\n" + tenDollarBills + " $10,\n" + singleDillarBills + " $1,\n" + fiftyCentCoins + " $0.50,\n" + twentyCentCoins + " $0.20,\n" + tenCentCoins + " $0.10,\n" + fiveCentCoins + " $0.05,\n" + twoCentCoins + " $0.02,\n" + oneCentCoins + " $0.01");
Console.WriteLine("Total money left over: " + money);
}
private static int subtract(ref decimal money, decimal amount)
{
int amtOfChange = (int) Math.Floor(money/amount);
money %= amount;
return amtOfChange;
}
}
、このコードプリントこの結果:変化
総額:2 $ 100
1 $ 50
0 $ 20、
0 $ 10、
5 $ 1、
1 $ 0.50
0 $ 0.20
0 $ 0.10
0 $ 0.05
0 $ 0.02
0 $ 0.01
編集:ob大いにこのコードを改善することができます、それは計算を行う方法の例として役立ちます!
enum CashType { c1, c5, c10, c25, c50, d1, d2, d5, d10, d20, d50, d100 }
あなたはこのような何か行うことができます:あなたはこのような列挙型を持っていると仮定
あなたは、これは[:C#のタグ]であることを確認していますか? '<0' and '!>'は私が認識できるコードのようには見えません。 –
私は入力の最小の例と期待される出力を提供しなければならないと思います。今のように、プログラムが何をしなければならないかははっきりしていません。 – Tigran
2番目の答えは基本的に何をしたいのかをまとめています –