二分法c语言c语言二分法求根

二分法c语言  时间:2021-07-03  阅读:()

用C语言编程二分法求解方程组

#include<stdio.h> #include<math.h> #define EQUATION(A, B, m, n, x) (A*pow(x, m) + B*pow(x, n) - 1)/* 定义方程*/ double A, B, m, n;/*方程参数*/ void find_extent(double *x1, double *x2)/*找出根所在的区间*/ { double i = 0, j = 0; *x1 = 0; if(EQUATION(A, B, m, n, 0) > 0) { while(EQUATION(A, B, m, n, ++i) > 0 && EQUATION(A, B, m, n, --j) > 0); *x2 = EQUATION(A, B, m, n, i) <= 0 ? i : j; } else { while(EQUATION(A, B, m, n, ++i) < 0 && EQUATION(A, B, m, n, --j) < 0); *x2 = EQUATION(A, B, m, n, i) >= 0 ? i : j; } } /*二分法解方程*/ /*输入参数:根所在区间[x1, x2], 和精度*/ double get_result(double x1, double x2, double uracy) { double x = (x1 + x2) / 2; while(fabs(EQUATION(A, B, m, n, x)) > uracy) { if(EQUATION(A, B, m, n, x) * EQUATION(A, B, m, n, x1) > 0) x1 = x; else x2= x; x = (x1 + x2)/2; } return x; } int main() { double x; double x1,x2; scanf("%lf%lf%lf%lf", &A, &B, &m, &n); find_extent(&x1, &x2); x = get_result(x1, x2, 0.00001); printf("%lf", x); return 0; }

C语言二分法解方程,急!谢谢!

本题的一个完整的c程序如下,程序在win-tc下调试通过,结果正确。

#include #include #include #include int n; double c[16]; double Func(double); int BisectRoot(double,double,double,double,double *,int,int *); int main() { int i,m; double a,b,h,eps,*x; printf("Please input integer k: "); scanf("%d",&n); /*方程根的个数的预估值*/ printf("Please input %d coefficients one by one: ",n+1); for(i=0;i<=n;i++) scanf("%lf",&c[i]); x = (double*)calloc(n,sizeof(double)); /*开辟内存空间*/ if(x == NULL) { printf("内存分配失败 "); exit(1); } a = -10; /*区间起始端点*/ b = 10; /*区间终止端点*/ h = 0.1; /*步长*/ eps = 1.e-5; /*要求达到的精度*/ BisectRoot(a,b,h,eps,x,n,&m); /*调用二分法函数*/ printf("The roots between %2.0f and %2.0f are: %d ",a,b,m); printf("They are: "); for(i = 0;ib+h/2)||(*m==n)) return(1); if(fabs(y)0) /*如果对应根乘积大于零,说明该区间内没有根*/ { y = y1; z = z1; continue; } while(1) /*如果本while循环执行,说明逐步扫描小区建z和z1间有根*/ { if(fabs(z1-z)C语言中二分法的编程#include #include void main() {int x1,x2,x,f1,f2; f1=x1*x1*x1-3*x1*x1-2*x1-6; f2=x2*x2*x2-3*x2*x2-2*x2-6; do {scanf("%d%d",x1,x2); }while(f1*f2>0); do {x=(x1+x2)/2; f=x*x*x-3*x*x-2*x-6; if(f*f1<0) {x2=x; f2=f;} if(f*f2<0) {x1=x; f1=f;} }while(fabs(x1-x2)>0.001); printf("%d",x);}

用C语言,运用二分法,求函数零点。

#include<stdio.h> #include<math.h> typedef double(*fun)(double xx);//函数指针 #define e 0.000001 //误差 void eff(double a,double b,fun hs)//二分法 {int i=0; while(fabs(hs(a)-hs(b))>e&&fabs(a-b)>e){i++; if(hs(a)*hs((b+a)/2)>0){ a=(a+b)/2; printf("迭代第%d次: %f ",i,a); } else { b=(a+b)/2; printf("迭代第%d次: %f ",i,b); } } } double hs1(double xx)//函数f(x)=x^3+x^2-3x-3 {return xx*xx*xx+xx*xx-3*xx-3;} double hs2(double xx)//函数f(x)=lnx+x {return log(xx)+xx;} void main() { printf("用二分法求方程x^3+x^2-3x-3=0在1.5附近的根 "); eff(1.0,2.0,hs1); printf("用二分法求方程lnx+x在0.5附近的根 "); eff(0.0,1.0,hs2); }

C语言用二分法求解的具体程序

double power(double x,int n) { int i; double result=1; for (i=0;i<n;i++) result*=x; return result; } main() { double lx,rx,x,s; lx=-2;rx=5; do { x=(lx+rx)/2; s=power(x,6)+power(x,5)*5+power(x,4)*3+power(x,3)-x*x*7+7*x-20; if (s>0) rx=x; else lx=x; } while (fabs(s)>0.000001); printf("%f ",x); }

c语言二分法求根

#include #include double fun(double x) {return 1.0*x*x-10;} int main() {double x1,x2; //此处有两个错误,double 类型的输入输出格式是lf,判断条件是x1x2处的函数值异号而不是同号 if ((scanf("%lf,%lf",&x1,&x2))&&(fun(x1)*fun(x2)<=0)&&(x10) //if判断后执行的不是一条语句就要用大括号括起来 {x1=(x1+x2)/2 ;continue;} if(fun((x1+x2)/2)*fun(x2)>0) {x2=(x1+x2)/2 ;continue;} } //循环条件也有问题,当某一个端点的值足够小时就表示找到了,就要退出循环 while (!(fabs(fun(x1))<=1E-6||(fabs(fun(x2))<=1E-6))); printf("%f %f",x1,x2); printf("%f %f",fun(x1),fun(x2));} else printf("error! "); return 0; }

1核1G仅38元/月起野草云服务器,香港/美国洛杉矶CN2+BGP云服务器,

野草云服务器怎么样?野草云是一家成立了9年的国人主机商家,隶属于香港 LucidaCloud Limited (HongKong Registration No. 2736053 / 香港網上查冊中心)。目前,野草云主要销售香港、美国的VPS、虚拟主机及独立服务器等产品,本站也给大家分享过多次他家的优惠了,目前商家开启了优惠活动,香港/美国洛杉矶CN2+BGP云服务器,1核1G仅38元/月起!点击...

Digital-VM80美元新加坡和日本独立服务器

Digital-VM商家的暑期活动促销,这个商家提供有多个数据中心独立服务器、VPS主机产品。最低配置月付80美元,支持带宽、流量和IP的自定义配置。Digital-VM,是2019年新成立的商家,主要从事日本东京、新加坡、美国洛杉矶、荷兰阿姆斯特丹、西班牙马德里、挪威奥斯陆、丹麦哥本哈根数据中心的KVM架构VPS产品销售,分为大硬盘型(1Gbps带宽端口、分配较大的硬盘)和大带宽型(10Gbps...

百纵科技:美国独立服务器租用/高配置;E52670/32G内存/512G SSD/4IP/50M带宽,999元/月

百纵科技怎么样?百纵科技国人商家,ISP ICP 电信增值许可证的正规公司,近期上线美国C3机房洛杉矶独立服务器,大带宽/高配置多ip站群服务器。百纵科技拥有专业技术售后团队,机器支持自动化,自助安装系统 重启,开机交付时间 30分钟内交付!美国洛杉矶高防服务器配置特点: 硬件配置高 线路稳定 洛杉矶C3机房等级T4 平价销售,支持免费测试,美国独服适合做站,满意付款。点击进入:百纵科技官方网站地...

二分法c语言为你推荐
有道云笔记网页版有道云笔记怎么保存网页元数据管理什么是元数据?(指数据中心建设而言)举个例子说明一下。1u1U的 定义linux修改文件名Linux中,怎样修改文件名?rdlregardless是什么意思丁奇请全面剖析一下黑胡子丁奇这个人物。数秦科技数秦科技旗下有哪些区块链项目?waves插件MuseScore vst插件怎么安装民生电商陆金所、民生电商哪个更适合投资?相似图片搜索怎么找手机上的一张相似图片?
sharktech 狗爹 好看的桌面背景大图 刀片服务器是什么 asp免费空间申请 台湾谷歌 上海服务器 腾讯总部在哪 免费ftp lamp的音标 789电视剧网 weblogic部署 qq部落24-5 电脑主机打不开 sockscap教程 丹弗润滑油 win7配置web服务器 中国联通网站 免费网络资源 最好玩的免费网络游戏 更多