
#include<stdio.h>
int main()
{
double sum = 0.0;
for (int i = 1; i <= 100; i++)
{
if (i % 2 == 0)
{
sum = sum - 1.0 / i;
}
else
{
sum = sum + 1.0 / i;
}
}
printf("%lf\n", sum);
return 0;
}#include<stdio.h>
int main()
{
double sum = 0.0;
int flag = 1;
for (int i = 1; i <= 100; i++)
{
sum = sum + flag * 1.0 / i;
flag = -flag;
}
printf("%lf\n", sum);
return 0;
}
两种解题方式在这个问题的实现上不会有太大差距,但在计算的数据足够庞大时,第二种方式在效率上会更出色一些,因为它比第一种方式每次都少了一条if判断语句