Thanks, that makes more sense. However, I cannot, for the life of me, figure out why when I input something like 0.38, the code below doesn't work:

Code:
#include <cs50.h>
#include <stdio.h>

int main(void)
{    
    // get an input from user
    printf("How much change?: ");
    float change = GetFloat();

    int Change = round(change * 100);
    int quarters, dimes, nickels, pennies;

    // how many quarters are needed
    if (Change >= 25)
        quarters = (Change / 25);
    Change = (Change%25);
   
    // how many dimes are needed
    if (Change >=10)
        dimes = (Change / 10);
    Change = (Change%10);

    if (Change >= 5)
        nickels = (Change / 5);
    Change = (Change%5);

   if (Change >= 1)
        pennies = (Change / 1);

    int x = (quarters + nickels + dimes + pennies);
    printf("%i, is the answer\n", x);
    return 0;
}


I tried using a while loop, but I have no idea why that doesn't work either:
Code:
#include <cs50.h>
#include <stdio.h>

int main(void)
{    
    // get an input from user
    printf("How much change?: ");
    float change = GetFloat();

    int Change = round(change * 100);
    int coins;

    // if quarters are needed
    while (Change >= 25)
    {       
        Change = (Change - 25);
        coins++;
    }
    Change = (Change%25);
   
    // how many dimes are needed
    while (Change >=10)
    {       
        Change = (Change - 10);
        coins++;
    }
    Change = (Change%10);

    if (Change >= 5)    
    {       
        Change = (Change - 5);
        coins++;
    }
    Change = (Change%5);

   if (Change >= 1)
   {       
        Change = (Change - 1);
        coins++;
    }

    printf("%i, is the answer\n", coins);
    return 0;
}
Can you please enlighten me?