Неверный результат после арифметических операций над float - C (СИ)

Формулировка задачи:

Добрый день. Возникла проблема, которую я никак не могу понять и решить, а именно: На приложенном скриншоте видно, что последний символ последней строки из нуля обращается в 0.000001, после того как мы предыдущую строку разделили на число 22.333334 и после умножения на -0.000000 прибавили к последней строке. В чем может быть ошибка и как ее решить, чтобы в конце получался ноль? Тип данных везде float. Заранее спасибо.

Код к задаче: «Неверный результат после арифметических операций над float - C (СИ)»

textual
 printf("%.*f", prec, a);

14   голосов, оценка 3.643 из 5


СОХРАНИТЬ ССЫЛКУ