c语言问题

编程,输入一个正实数eps,计算并输出下式的值,直到最后一项的绝对值小于eps。
s=1-1/5+1/9-1/13+1/17-1/21...

#include <stdio.h>
#include <math.h>

int main(void)
{
float eps;
float a = 1 , s = 0;

printf("请输入一个正实数: ");
scanf("%f", &eps);

do {
s += 1 / a;
a = -1 * (fabs(a) + 4);

} while (fabs(1 / a) >= eps);

printf("和是:%f\n", s);
return 0;
}

运行结果:
[linus@Beauty ~]$ ./a.out
请输入一个正实数: 0.1
和是:0.688889
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-14
#include <stdio.h>

main()
{
float s,eps;
int i,j;
s = 1;
i = 1;
j = 1;
scanf("%f",&eps);
do
{
j = j*-1;
i = i+4;
s = s + 1.0*j/i;
}while(1.0/i >= eps);
printf("%f\n",s);
}
相似回答