Почему этот код игнорирует значение 0.10 и 0.01 в массиве.
Это ядро из моего задания на самостоятельную проверку, и мне интересно, почему оно не работает должным образом. Он игнорирует значения 0.10 и 0.01, и я не знаю почему. Пожалуйста, помогите мне.
int main() { float howMuch; float payment; float money[13] = {100, 50, 20, 10, 5, 2, 1, 0.50, 0.20, 0.10, 0.05, 0.02, 0.01}; scanf("%f", &howMuch); while(howMuch > 0 ) { scanf("%f", &payment); howMuch -= payment; } howMuch = -1*howMuch; for(int i = 0; i < 13; i++) { while(money[i] <= howMuch) { howMuch -= money[i]; printf("%.2f ", money[i]); } } printf("\n"); return 0; }
Что я уже пробовал:
Ничего, я просто думаю, что это должно сработать.