循环终止判断是在计算完成小于10的-6次方那一项后。
#include<stdio.h>
int main()
{
double sum=0;
int i;
for(i=0;;i++){
double term=1.0/(i*2+1);
if(i%2==0)
sum+=term;
else
sum-=term;
if(term<1e-6)
break;
}
printf("%.6f\n",sum);
return 0;
}
也可用do-while来实现
#include<iostream>
#include <stdio.h>
using namespace std;
int main()
{
double sum=0,t;
int n=0;
do{
t=1.0/(2*n+1);
if(n%2)
sum-=t;
else
sum+=t;
n++;
}while(t>=1e-6);
printf("%.6f\n",sum);
return 0;
}