В следующем коде, почему я не получаю правильный результат, если я не поставлю term = 1.0/n
, а не когда term = 1/n
. Я объявил термин как плавающий. Разве этого недостаточно?
#include <stdio.h>
int main()
{
float sum = 0, term;
int n, i;
printf("enter the value of n:\n");
scanf("%d", &n);
term = 1.0 / n;
for(i = 1; i <= n; i++)
{
sum = term + sum;
}
printf("Sum = %.3f\n", sum);
return 0;
}
1
являетсяint
, а такжеn
, вы получаете целочисленное деление. Использование1.0
приводит к делению с плавающей запятой. - person Johnny Mopp   schedule 19.03.20201/n
,n
раз, вы получите 1. Хотите1 + 1/2 + 1/3 .. + 1/n
? - person Ashwani   schedule 19.03.20201.0/i
в C). - person Ian Abbott   schedule 19.03.2020term = 1/n
является целым числом. Тип LHS не имеет значения при оценке RHS. - person William Pursell   schedule 19.03.2020