The program takes a monetary value in, for ex. (3.85) and should return the minimum number of coins needed to make that value. The answer to this being 16
Another example would be 2.37 Which should return 12
The coin values are 0.25, 0.10, 0.05, and 0.01
float change = cash;
int num = 0;
do
{
change = change - 0.25;
num++;
}
while (change >= 0.25);
if (change == 0.00)
{
printf("%i\n", num);
}
else if (change != 0.00)
{
do
{
change = change - 0.10;
num++;
}
while (change >= 0.10);
}
if (change == 0.00)
{
printf("%i\n", num);
}
else if (change != 0.00)
{
do
{
change = change - 0.05;
num++;
}
while (change >= 0.05);
}
if (change == 0.00)
{
printf("%i\n", num);
}
else if (change != 0.00)
{
do
{
change = change - 0.01;
num++;
}
while (change >= 0.00);
printf("%i\n", num);
}
I put in 2.37 and I get 12. but when I put in 3.85 I get 18. When it should be 16
Aucun commentaire:
Enregistrer un commentaire