我正在做一个学校项目,我需要知道如何将用户输入的美元转换成100美元的账单和1000美元的账单和剩余的美元。 让我们说你在商店,你想要尽可能高的账单支付你的物品,所以假设你必须支付9853美元。我如何打印多少10美元,5美元钞票,10美元钞票,50美元钞票,100美元钞票和1000美元钞票?
尽可能支付高额费用。没有变化。
$ 9853将是: 9x $ 1000账单,8x $ 100账单,1x $ 50账单和3x $ 1账单。
如果有人对此有答案,请回答,任何答案都非常有帮助。 感谢。
答案 0 :(得分:5)
$ 9853将是:9x $ 1000票据,8x $ 100票据,1x $ 50票据和3x $ 1票据。
你是怎么做到这一点的?让我们考虑一下:
你可能从一千美元的钞票开始。你想尽可能多地使用。那是多少?将$ 9853除以1000,然后丢掉其余部分。
int thousands = amount / 1000;
我们还需要支付多少钱?我们刚刚完成的剩余部分,即853美元。
amount %= 1000;
现在,我们希望尽可能多地使用数百个。多少? 8,因为$ 853/100是8(丢掉其余的)。
int hundreds = amount / 100;
现在还剩下多少钱?其余的:
amount %= 100;
这是否向您提出算法?你认为你可以从这里填写其余的代码吗?
答案 1 :(得分:0)
您可以使用余数(% - 模数)
让我们考虑金额为9853美元
`第一:
9853/1000给出9(这意味着9 - 1000美元的钞票)
9853%1000给出853
853/100给出8(这意味着8 - 100美元的钞票)
853%100给出53
53/10给出5(如果答案是5或大于5,请检查答案然后使用50美元的账单和剩余的10美元账单。如果答案是30则那么你得到3 - 10美元的账单,如果是6则那么50美元的账单和1 - 10美元的账单)53%10给3(这里再次检查你的答案,如果大于5使用5美元的账单,然后是左边的1美元账单)
希望这可能会有所帮助
答案 2 :(得分:0)
试试这个。这很简单.....
public void CountDollers(int number) {
int[] values = new int[] { 1000, 100, 50,1 }; // declare here your counter serise
int i = 0 ,rem = 0;
do
{
rem = number / values[i];
Console.WriteLine("Number of "+values[i]+"$ "+ rem);
number = number % values[i];
i++;
} while (number > values[values.Length-1]-1);
}
用法:
CountDollers(9853);