请编写C语言程序实现当输入一个浮点数x(0<x<1)时候,输出如下表达式的值:
请编写C语言程序实现当输入一个浮点数x(0<x<1)时候,输出如下表达式的值:请注意,在计算上述表达式时,当某项绝对值小于10-6时停止计算。#inclu...
请编写C语言程序实现当输入一个浮点数x(0<x<1)时候,输出如下表达式的值:
请注意,在计算上述表达式时,当某项绝对值小于10-6 时停止计算。
#include<stdio.h>
#include<math.h>
int main ()
{
int i;
float k,x,y=-1,z,sum;
sum=0;
scanf("%f",&x);
for(i=0;;i++)
{
y=-1*y;
k=pow(x,2i+1);
z=1.0*y*k/2i+1;
if(fabs(z)<1e-6)
{
break;
}
else
{
sum=sum+z;
}
}
printf("%f",sum);
}
求大神找错啊,为何无输出,菜鸟请见谅
原题 展开
请注意,在计算上述表达式时,当某项绝对值小于10-6 时停止计算。
#include<stdio.h>
#include<math.h>
int main ()
{
int i;
float k,x,y=-1,z,sum;
sum=0;
scanf("%f",&x);
for(i=0;;i++)
{
y=-1*y;
k=pow(x,2i+1);
z=1.0*y*k/2i+1;
if(fabs(z)<1e-6)
{
break;
}
else
{
sum=sum+z;
}
}
printf("%f",sum);
}
求大神找错啊,为何无输出,菜鸟请见谅
原题 展开
2个回答
推荐于2018-04-15
展开全部
泥马的,题目就有问题,能有结果才怪呢! 这题的分子分母必须互换才会向0收敛。
楼主的程序,2i+1要改成(2*i+1),然后象我说的那样把分子分母互换,就可以了。
我运行的结果是:
输入2.5
fabs(z)=0.0000002
输出=0.344827
楼主的程序,2i+1要改成(2*i+1),然后象我说的那样把分子分母互换,就可以了。
我运行的结果是:
输入2.5
fabs(z)=0.0000002
输出=0.344827
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询