#include <stdio.h>
#include<math.h>
int main(void)
{
int i=1,flag=-1;
float sum=0,xiang,b=pow(10,-5);
do
{
flag*=-1;
xiang=1/flag*i;
sum+=xiang;
i++;
}while(abs(xiang)<=b);
printf("结果是%f\n",sum);
return 0;
}
得到的结果是1.000000
求1-1/2+1/3+ ……+(-1)^(n+1)/n,绝对值小于10^(-5)的项不计算
代码中有几个问题:
#include <stdio.h>
#include<math.h>
int main(void)
{
int i=1,flag=-1;
float sum=0,xiang,b=pow(10,-5);
do
{
flag*=-1;
xiang=1.0/i * flag;
sum+=xiang;
i++;
}while(fabs(xiang)>b);
printf("结果是%f\n",sum);
return 0;
}