用C#写。输入一个金钱数额,换算成100.50.20.10.5.1元,分别显示出每个数额的张数
时间: 2024-10-19 16:02:45 浏览: 30
在C#中,你可以编写如下的代码来实现这个功能。首先,你需要定义一个方法来接收金额并计算各个面额的张数。假设用户输入的是一个double类型的值,然后你可以创建一个字典来存储每种面额及其对应的张数。这里是一个简单的示例:
```csharp
using System;
using System.Collections.Generic;
class CurrencyConverter
{
static void Main()
{
Console.Write("请输入金额: ");
double moneyInput = Convert.ToDouble(Console.ReadLine());
Dictionary<decimal, int> currencyCounts = new Dictionary<decimal, int>
{
{ 100, 0 },
{ 50, 0 },
{ 20, 0 },
{ 10, 0 },
{ 5, 0 },
{ 1, 0 }
};
// 分割金额并计算各面额张数
foreach (var coin in currencyCounts)
{
while (moneyInput >= coin.Key)
{
moneyInput -= coin.Key;
currencyCounts[coin.Key]++;
}
}
// 输出结果
Console.WriteLine("100元张数: " + currencyCounts[100]);
Console.WriteLine("50元张数: " + currencyCounts[50]);
Console.WriteLine("20元张数: " + currencyCounts[20]);
Console.WriteLine("10元张数: " + currencyCounts[10]);
Console.WriteLine("5元张数: " + currencyCounts[5]);
Console.WriteLine("1元张数: " + currencyCounts[1]);
Console.ReadKey();
}
}
```
在这个程序中,我们首先获取用户的输入,并初始化一个`Dictionary`来存储各种面额的张数。接着通过循环,不断从总金额中减去当前面额,直到无法再减为止,同时更新相应面额的计数。
阅读全文