已知S=1-1/2+1/3-1/5+1/8-1/13......,求S的值,直到某一项的绝对值小于10-7为止,结果保留4位小数。
#include <stdio.h>
int main()
{
int a = 1, b = 2, c, flag = 1;
double ans = 0.0;
double temp = 0.0;
ans += flag*1.0/a;
ans += flag*(-1.0)/b;
while(1){
c = a+b;
a = b;
b = c;
temp = flag*1.0/c;
if(fabs(temp) < 1e-7)break;
ans += temp;
flag *= -1;
//printf ("c=%d\n", c);
}
printf ("%.4f\n", ans);
}