我刚刚开始用cs50编程。CS50贪婪算法
我试图做的关于贪婪算法的问题集,但似乎无法找到该错误。我的代码如下。
#include <cs50.h>
#include <stdio.h>
#include <math.h>
int main (void)
{
int count = 0;
printf("how much is the change?: ");
float change = get_float();
while(change < 0)
{
printf("change is to be more than 0");
change = get_float();
}
int amount = lroundf(change*100);
while(amount > 0)
{
if ((amount-25) >= 25)
{
amount = amount - 25;
count++;
}
else if ((amount-10) >= 10)
{
amount = amount - 10;
count++;
}
else if ((amount-5) >= 5)
{
amount = amount -5;
count++;
}
else if((amount-1) >= 1)
{
amount = amount -1;
count ++;
break;
}
else
{
printf("you have no change \n");
}
}
printf("your number of coins is %i\n", count);
}
当我输入我的更改为1时,我收回了8个硬币。似乎无法找到错误所在。谁能帮我?
你检查过[cs50.se]吗? –
'> = 25' - >'> = 0'等等。或简单地'(金额-25)> = 25' - >'金额> = 25' – BLUEPIXY