二分法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; }

ZJI全新上架香港站群服务器,4C段238个IP月付1400元起

ZJI本月新上线了香港葵湾机房站群服务器,提供4个C段238个IPv4,支持使用8折优惠码,优惠后最低每月1400元起。ZJI是原Wordpress圈知名主机商家:维翔主机,成立于2011年,2018年9月更名为ZJI,提供中国香港、台湾、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册等业务,所选数据中心均为国内普遍访问速度不错的机房。葵湾二型(4C站群)CPU:I...

Ceraus24元/月,国庆促销 香港云上新首月五折

Ceraus数据成立于2020年底,基于KVM虚拟架构技术;主营提供香港CN2、美国洛杉矶CN2、日本CN2的相关VPS云主机业务。喜迎国庆香港上新首月五折不限新老用户,cera机房,线路好,机器稳,适合做站五折优惠码:gqceraus 续费七五折官方网站:https://www.ceraus.com香港云内存​CPU硬盘流量宽带优惠价格购买地址香港云2G2核40G不限5Mbps24元/月点击购买...

小白云 (80元/月),四川德阳 4核2G,山东枣庄 4核2G,美国VPS20元/月起三网CN2

小白云是一家国人自营的企业IDC,主营国内外VPS,致力于让每一个用户都能轻松、快速、经济地享受高端的服务,成立于2019年,拥有国内大带宽高防御的特点,专注于DDoS/CC等攻击的防护;海外线路精选纯CN2线路,以确保用户体验的首选线路,商家线上多名客服一对一解决处理用户的问题,提供7*24无人全自动化服务。商家承诺绝不超开,以用户体验为中心为用提供服务,一直坚持主打以产品质量用户体验性以及高效...

二分法c语言为你推荐
洗牌算法关于洗牌算法,请用JAVA编写,定义一个数组,储存1-52以内的数,打乱顺序输出!fcloseC语言文件关闭函数fclose(文件指针)是什么?showwindowC#中showwindow控件在哪里??oracle索引如何在ORACLE数据库的字段上建立索引oracle索引Oracle中有多少种索引类型网关和路由器的区别网关和路由器有什么区别editplus破解版DBTools Manager Professional 破解版在哪里可以下载?php论坛怎样快速在个人电脑上建立一个自己的PHP论坛服务器?清除电脑垃圾怎样清除电脑里的垃圾medias请帮我详细解释一下 chronological order和in medias res
网站空间租赁 国外主机空间 域名城 绍兴服务器租用 泛域名绑定 187邮箱 加勒比群岛 便宜域名 Dedicated kdata info域名 淘宝双十一2018 本网站在美国维护 智能骨干网 40g硬盘 域名接入 闪讯官网 网通服务器 godaddy空间 服务器托管价格 更多