Проблема в вашем коде лежит в этой строке:
c = c + (1/i);
Здесь операция, выполняемая в скобках, представляет собой целое число деление! Таким образом, когда i
имеет какое-либо значение больше 1
, результат будет нулевым. Затем этот ноль преобразуется в значение с плавающей запятой.
Чтобы заставить компилятор использовать с плавающей запятой , используйте это:
c = c + (1.0/i);