作业帮 > 综合 > 作业

计算1-1/3+1/5-1/7+...直到最后一项的绝对值小于10的-6次方

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/06 17:31:46
计算1-1/3+1/5-1/7+...直到最后一项的绝对值小于10的-6次方
#include
void main()
{
int n=1;
float x=1,t=1,s=0;
while(t>=1e-6)
{
t=1.0/(2*n-1);
s=s+x*t;
x=(-1)*x;
n=n+1;
}
printf("1-1/3+1/5-1/7+...=%f\n",s);
getch();
return 0;
}
为什么是t>=1e-6.而不是t
计算1-1/3+1/5-1/7+...直到最后一项的绝对值小于10的-6次方
while(表达式),这里的表达式是满足循环的条件,不是结束循环的条件,它们刚好相反
如果x值为1,乘上-1,x的值就变为-1,再乘-1就变成+1了.所以对于x来说相当于是交替出现正负号
再问: 但是题目不是应该满足t的绝对值小于1e-6吗
再答: 题目给出的是“直到最后一项的绝对值小于10的-6次方”,是结束循环的条件,不是满足循环的条件。