新手 - - 关于除法保留小数位的问题 . . .
这是我们老师给我们的一道题编程,输入1个正实数eps,计算并输出下式的值,直到最后一项的绝对值小于eps。
S=1-(1/5)+(1/9)-(1/13)+(1/17)...
输入输出示例:
Input eps:0.00001
S = 0.866978
但是 我的程序写出来,得不到实例的那个结果 ,在最后两位小数上有出入, S=0.866968 我想问一下各位大神,这个该怎么解决? 非常感谢啦~\(≧▽≦)/~
#include<stdio.h>
#include<math.h>
void main()
{
long double s=0,z,a;
int b=1,c=1;
printf("input eps:");
scanf("%lf",&a);
for(z=1;fabs(z)>=a;)
{
s=s+z;
b=b+4;
c=-1*c;
z=(c*1.0)/b;
}
printf("S=%f\n",s);
}