注意:计算时1要用double类型即1.0

  • 奇数偶数分开计算,再合并。

#include<stdio.h>
int main()
{
	int i;
	double sum=0,sum1=0,sum2=0;
	for(i = 1;i <= 99;i+=2)
	{
		sum1=sum1+1.0/i;	 	 
	}
	for(i = 2;i <= 100;i+=2)
	 {
	      sum2=sum2-1.0/i;
	 }
	sum=sum1+sum2;
	printf("%lf",sum);
	return 0;
}
  • 用flag做标签控制+1,-1。

#include<stdio.h>
int main()
{
	int i;
	double sum = 0;
	int flag = -1;
	for(i = 1;i <= 100;i++)
	{
		flag*=-1;
		sum+=flag*(1.0/i);	 	 
	}
	printf("%lf",sum);
	return 0;
}
  • 用函数pow   pow(-1,i+1)相当于(-1)^(i+1)

#include<stdio.h>
#include<math.h>
int main()
{
	int i;
	double sum = 0;
	for(i = 1;i <= 100;i++)
	{
		sum+=pow(-1,i+1)*(1.0/i);	 	 
	}
	//pow(-1,i+1)相当于(-1)^(i+1)
	printf("%lf",sum);
	return 0;
}