I need to make a program to find the leas amount of coins but with a twist, there is a coin called a joinie that was added worth a $1.31 I don't know ow to get it run properly.

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 */
printf ("\n");
for (y = 1; y > 7; y++)
{
if (moneyfloat >= coins[y])
{
numCoins[y] = (int) (moneyfloat / coins[y]);
moneyfloat = moneyfloat - (numCoins[y] * coins[y]);
sum = sum + numCoins[y];
}
printf ("$%f coin: %d - $%f \n",coins[y], numCoins[y],(numCoins[y] * coins[y]));
}
/* Close Program (Repeat Twice Because Once Dosn't Work Correctly) */
getchar();
getchar();
return 0;
}