C语言在区间[0,1]内用二分法求方程e^x+10x-2=0的近似根,误差不超过0.5*10^(-3),#include #include #include #include float getvalue(float x) {return e^x+10x-2; } int main() {float a=0,b=1,c; c=(a+b)/2; while(fabs(getvalue(c))>0.5*10^(-
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/08 03:22:20
C语言在区间[0,1]内用二分法求方程e^x+10x-2=0的近似根,误差不超过0.5*10^(-3),#include #include #include #include float getvalue(float x) {return e^x+10x-2; } int main() {float a=0,b=1,c; c=(a+b)/2; while(fabs(getvalue(c))>0.5*10^(-
C语言在区间[0,1]内用二分法求方程e^x+10x-2=0的近似根,误差不超过0.5*10^(-3),
#include
#include
#include
#include
float getvalue(float x)
{
return e^x+10x-2;
}
int main()
{
float a=0,b=1,c;
c=(a+b)/2;
while(fabs(getvalue(c))>0.5*10^(-3) && fabs(a-b)>0.5*10^(-3))
{
if(getvalue(c)*getvalue(b)
C语言在区间[0,1]内用二分法求方程e^x+10x-2=0的近似根,误差不超过0.5*10^(-3),#include #include #include #include float getvalue(float x) {return e^x+10x-2; } int main() {float a=0,b=1,c; c=(a+b)/2; while(fabs(getvalue(c))>0.5*10^(-
首先,你的手写格式和编程语言格式是不一致的.然后,你使用的自然对数底数e,也没有定义.其他的都是小问题.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define e 2.7182828//定义自然对数底数的值
float getvalue(float x)
{
return pow(e,x)+10*x-2;
}
int main()
{
float a=0,b=1,c;
c=(a+b)/2;
while(fabs(getvalue(c))>0.5*1e-3)//此处可以简单化
{
if(getvalue(c)*getvalue(b)<0)
a=c;
if(getvalue(a)*getvalue(c)<0)
b=c;
c=(a+b)/2;
}
printf("%0.3f\n",c);
return 0;
}
我这边算出来的结果是0.091.