C语言编程 现在实验课 急求啊 在线等!!!!!!!!!!!!!!!!

是计算方法的作业用二分法求Xe^X-1=0在[0,1]在[0,1]内的实根(ε=10^-5)。求程序啊快点啊大神们老师要看的而且我看我同学的设计的不是很多希望C语言不错的... 是计算方法的作业 用二分法求Xe^X-1=0在[0,1]在[0,1]内的实根(ε=10^-5)。
求程序啊 快点啊 大神们 老师要看的 而且我看我同学的设计的不是很多 希望C语言不错的大神门快帮帮我啊,跪求啦!!!!!!
用二分法求Xe^X-1=0在[0,1]在[0,1]内的实根(ε=10^-5)。
展开
 我来答
xoaxa
2012-12-11 · TA获得超过8610个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3475万
展开全部
/*
方程的根为 : 0.567143
*/
#include <stdio.h>#include <math.h>
double function(double x) { return x * exp(x) - 1.0;
}

int search(double low,double high,double *root) { double mid,val;
while(low <= high) {
mid = (high + low)/2;
val = function(mid);
if(fabs(val) <= 1E-6) {
*root = mid;
return 1;
}
if(val < 0.0) low = mid;
if(val > 0.0) high = mid;
}
return 0;
}

int main() { double root;
if(search(0,1,&root))
printf("方程的根为 : %lf\n",root);
else printf("在给定区间内无根。\n");
fflush(stdin);
getchar();
return 0;
}
更多追问追答
追问
这是C语言么?我现在大二 好像里面有一些有难度的函数啊 而且好像最后的结果应该是0.567146
追答
这是标准的C语言代码,没有掺杂任何编译器的特色内容。
运行的结果可用电脑上的计算器进行验证,之所以最后一位不同,可能是控制精度的不同造成的,你是否注意到我的代码的控制精度是1E-6,而不是1E-5?
孟明视CF
2012-12-11
知道答主
回答量:5
采纳率:0%
帮助的人:7629
展开全部
#include<stdio.h>
#include<math.h>
void main()
{
float x0,x1,x2,fx0,fx1,fx2;
printf("input x1,x2");
scanf("%f %f",&x1,&x2);
fx1=x1*pow(2.7,x1)-1;
fx2=x2*pow(2.7,x2)-1;
do
{
x0=(x1+x2)/2;
fx0=x0*pow(2.7,x0)-1;
if((fx0*fx1)<0)
{
x2=x0;
fx2=fx0;
}
else
{
x1=x0;
fx1=fx0;
}
}while(fabs(fx0)>1e-5);
printf("x= %f",x0);
}

你只要输入他的两个区间就行了
追问
有错误。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
募思小孩
2012-12-11 · 超过19用户采纳过TA的回答
知道答主
回答量:136
采纳率:0%
帮助的人:55.7万
展开全部
顶了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式