- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 EDX:Computer Science 的 Pset1,我正处于“变革时刻”的末尾。在这里你应该编写一个代码,一旦给定一个数字,就应该找到你需要的最少数量的硬币。我已经制作了我的代码,但我似乎无法找到如何制作它以使其找到最小值。这是我的代码:
{
printf ("How much do I owe you?\n"); //Get a non-negative number
float change = GetFloat();
while (change < 0)
{
printf ("Please enter a non-negative number\n");
change = GetFloat();
}
int total = 0;
while (change >=.25)
{
change = change - .25;
total++;
}
while (change >=.1 && change <.25)
{
change = change - .1;
total++;
}
while (change >=.05 && change <.10)
{
change = change - .05;
total++;
}
while (change > 0 && change <.05)
{
printf ("%i\n", total);
}
当我输入 .15 时,它给出的答案是 3,但它应该说是 2。另外,我做的其他一些事情也给了我一个数字,但不是最小值。我怎样才能让它始终找到最小数量?
最佳答案
您应该做的第一件事是不使用 float 来表示货币。涉及 float 的算术运算不够精确,无法用于货币。将其更改为 int
。之后,您可以使用 /
和 %
来计算硬币的数量。
int amountOwed = ...; // Amount owed in cents
int total = amountOwed/25; // Number of quarters.
amountOwed = amountOwed % 25; // Amount after the number of quarters.
total += amountOwed/10; // Number of dimes.
amountOwed = amountOwed % 10; // Amount after the number of dimes.
total += amountOwed/5; // Number of nickels.
amountOwed = amountOwed % 5; // Amount after the number of nickels.
// Whatever is left is number of pennies.
total += amountOwed; // Number of pennies.
关于c++ - 我该怎么做才能让我的代码寻找最少数量的硬币?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37849719/
我目前正在做一个项目,试图开发一种用于 P2P 能源交易的货币和模型,其中每产生一千瓦时的可再生能源就会向该生产商类型转换一枚硬币。我的问题是关于销毁智能合约中的代币。 所有与我的项目类似的当前实现都
在没有Maps帮助的情况下通过Memoization解决问题,由于读取文件的方法,我得到了TLE,根据我的说法,这不应该是这种情况。可能的原因是什么? 这是给出 AC - http://ideone.
考虑下面这段伪代码,其中d是面额值数组,k是面额数,n是要进行更改的金额。 Change(d; k; n) 1 C[0] 我真的不明白这部分,你为什么要用它,谁能给我解释一下! 最佳答案 为了回答
我正在尝试在我的网站上实现 Coin Slider (http://workshop.rs/2010/04/coin-slider-image-slider-with-unique-effects/)
我有使用硬币 slider 的画廊 var $jq = jQuery.noConflict(); $jq(window).load(function() { var imhei
我使用了从该站点提取的硬币 slider http://workshop.rs/projects/coin-slider/ .它现在自动滚动并仅在悬停时显示上一个和下一个。我需要禁用自动滚动并正常显示
我的问题是一道CodeFu练习题(2012 round 2 problem 3)。它基本上归结为将整数数组分成两个(几乎)相等的两半并返回两者之间可能的最小差异。我在下面包含了问题描述。如评论中所述,
我们的老师要求我们制作一 jar 硬币,用来计算我们有多少便士、一毛钱等,然后给出总金额。 这是他希望我们使用的模板 https://online.pcc.edu/content/enforced/7
我正在尝试使用币安币 future 的 api 下载 BTC/USD 永续 future 的历史价格数据,具体来说,我想使用 this endpoint .但是,我找不到必须为 BTC/USD 指定的
我上周刚开始学习计算机科学,我们得到了一个名为“硬币”的工作表,其中我必须找出一组硬币中有多少个 25 美分、10 美分、5 美分和 10 便士。我遇到了很多麻烦,并收到了该错误。这是我的代码 pac
我正在构建一些使用消耗性硬币的测验。我使用 NSUserDefault 来保存设备上的硬币及其工作。我还在 qiuz 中使用 CloudKit 处理数据。 不麻烦的是,如果用户切换设备如何恢复硬币?有
我是一名优秀的程序员,十分优秀!