#include<stdio.h>
int main()
{
int i = 1;
double ret = 0.0;
for (int n = 1; n <= 100; n++)
{
ret += i *1.0/ n;//1.0很有必要,否则计算出来的默认值是int类型的
i = -i;
}
printf("最终结果是:%lf", ret);
return 0;
}
i *1.0/ n;中的1.0很有必要,否则计算出来的默认值是int类型的,代码进行整除运算的时候,如果想输出浮点型,就必须在除号的两端至少出现一个浮点型,否则就按照int型输出。
第二种方法:
#include<stdio.h>
int main()
{
int i = 1;
double ret = 0.0;
for (int n = 1; n <= 100; n++)
{
if (n % 2 == 1)
ret = ret + (1.0 / n);
else
ret = ret - (1.0 / n);
}
printf("最终结果是:%lf", ret);
return 0;
}