硬貨何枚?
問題
入力した金額に対して必要な硬貨の枚数を求めましょう。
入力
・0以上の整数値
・整数値以外、マイナスの値などが入力された場合は再入力を求める
出力
・硬貨の枚数
・0枚の硬貨は表示しない
例
例1
金額を入力してください[円] sss 金額を入力してください[円] -22 金額を入力してください[円] 88 50 円硬貨 1枚 10 円硬貨 3枚 5 円硬貨 1枚 1 円硬貨 3枚
例2
金額を入力してください[円] 537 500 円硬貨 1枚 10 円硬貨 3枚 5 円硬貨 1枚 1 円硬貨 2枚
解答例
using System; namespace Coins { class Program { static void Main(string[] args) { //硬貨の金額を配列にする int[] coin = { 500, 100, 50, 10, 5, 1 }; int money; bool loop = true; //お金入力のループ do { Console.WriteLine("金額を入力してください[円]"); String str = Console.ReadLine(); loop = !int.TryParse(str, out money); if (money < 0) loop = true; } while (loop); //硬貨換算 for (int i = 0; i < coin.Length; i++) { int n = money / coin[i]; if (n > 0) { money = money - coin[i] * n; Console.WriteLine("{0} 円硬貨 {1}枚", coin[i], n); } } } } }