计算下面的式子,但得不到正确答案,是哪一步逻辑有问题呢r(・x・)?

img


#include
#include<stdio.h>
#include"stdlib.h"
int main()
{
int i,j,m = -1;
double x, sum = 0;
for (i = 1;i <= 100;i++)
{
{
for (j = 1;j <= i;j++)
m = m * (-1);
}
x = 1 / i * m;
sum = sum + x;
}
printf("%lf", sum);
system("pause");
return 0;
}

你程序写成这样是要挨骂的,你那个m的for循环什么意思,有意义吗,自己不会把m打印出来看一下吗,逻辑上就有明显的问题

#include<stdio.h>
#include"stdlib.h"
int main()
{
int i,j;
double x, sum = 0,m = 1;
for (i = 1;i <= 100;i++)
{
  sum+=(1/double(i))*m;
  m=-m;
}
printf("%f\n", sum);
system("pause");
return 0;
}

x = 1.0/i*m 这里1改成1.0 不然是整数运算了