编辑:在我的 IDE 中重写代码后,今天我第八次犯了菜鸟错误,给我的输入提供了错误的数据类型,该错误已被修复,但我的输出仍然不正确。
关于我的目标的详细信息:在进行找零时,您很可能希望最大限度地减少为每个客户分发的硬币数量。
好吧,假设收银员欠顾客一些零钱,收银员的抽屉里有 25 美分 (25 美分)、10 美分 (10 美分)、5 美分 (5 美分) 和 1 美分 (1 美分)。要解决的问题是决定将哪些硬币以及每种硬币的数量交给顾客。
预期结果:
所欠变化:0.41
4
实际结果:
所欠变化:0.41
3
#include <math.h>
#include <cs50.h>
#include <stdio.h>
int main (void)
{
float dollars;
int changeowed = 0;
do
{
dollars = get_float ("Change owed: ");
}
while (dollars < 0);
float cents = round(dollars * 100);
while (cents >= 25)
{
cents = cents - 25;
changeowed++;
}
while (cents > 10)
{
cents = cents - 10;
changeowed++;
}
while (cents > 5)
{
cents = cents - 5;
changeowed++;
}
while (cents > 1)
{
cents = cents - 1;
changeowed++;
}
printf("%i \n", changeowed);
}
问题是:有 4 个环,一个用于 25 美分,一个用于 10 分钱,一个用于镍币,一个用于便士。第一个循环条件是正确的:
while (cents >= 25)
其他三个错误的是:
while (cents > 10)
while (cents > 5)
while (cents > 1)
这些都需要改一下才能使用>=
代替>
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)