I can't seem to figure out how to get this program to work with a trick coin of a $1.31 to work

Please Help!Code:#include <stdio.h> int main() { /* Declaring variables */ float moneyfloat,coins[7]; /* Money Value From User, Values For Each Type Of Coin */ int x,y,numCoins[7]; /* Counter, Counter, Number Of Each Type Of Coin Counters */ int sum = 0; /* Sum Counter that is set to a value of 0 */ /* Set Values For Each Type Of Coin */ coins[1] = 2.00; /* $2.00 */ coins[2] = 1.31; /* $1.31 */ coins[3] = 1.00; /* $1.00 */ coins[4] = 0.25; /* $0.25 */ coins[5] = 0.10; /* $0.10 */ coins[6] = 0.05; /* $0.05 */ coins[7] = 0.01; /* $0.01 */ /* Set Counters For Each Type Of Coin */ for (x = 1; x <= 7; x++) { numCoins[x] = 0; } /* $2.00, $1.31, $1.00, $0.25, $0.10, $0.05, $0.01 */ /* Print Title */ printf ("\nSmallest Combination of Coins Finder\n\n"); /* Ask User For Input */ printf ("Enter An Amount of Money: $"); /* Get User Input */ scanf ("%f", &moneyfloat); /* Gets Users Input Of Amount of Money */ /* New Line */ printf ("\n"); /* Sequence To Calculate The Amount Of Coins Needed From The Value Entered */ for (y = 1; y <= 7; y++) { if (moneyfloat >= coins[y]) /* Money Is More Than Or Equal To Coin Value */ { numCoins[y] = (int) (moneyfloat / coins[y]); /* Finds number Of Coins */ moneyfloat = moneyfloat - (numCoins[y] * coins[y]); /* Takes The Value For The Type of Coins from the Money */ sum = sum + numCoins[y]; /* Adds amount of coins to sum */ } printf ("$%f coin: %d - $%f \n",coins[y], numCoins[y],(numCoins[y] * coins[y])); /* Prints Type Of Coin, How Many, and Value */ } /* Print Sum */ printf ("-----------------------------\n"); printf ("SUM: %d\n",sum); /* Close Program (Repeat Twice Because Once Dosn't Work Correctly) */ getchar(); getchar(); return 0; }