c语言编程,求方程的根,在线等,急

已知f(x)=x^3-(5/2)x^2-7x+4在【0,1】上有根,用三种方法求此根(用二分法,割线法和迭代法)

第1个回答  2015-04-22
使用二分法求解f(x)=x^3-x-1=0在区间(1,2)上的解
(2011-05-12 22:32:32)
转载▼
标签:
二分法

区间

函数

方程

求解

计算方法

杂谈
分类: C

//使用二分法求解f(x)=x^3-x-1=0在区间(1,2)上的解
#include<iostream.h>
#include<math.h>
const double eps=0.000001; //对于精度的控制
//为方便的代码的书写,故编写此函数,以此求得此函数值
double f(double x)
{
return pow(x,3)-x-1; //当函数发生改变时,修改此处即可
}
//解的具体实现的函数
void solequ(double min,double max,double eps)
{
double temp;
if(f(min)*f(max)<0)//判断方程在此区间是否有解
{ //有解的情况的求解过程
while(f(max)!=0)
{
temp=(min+max)/2;
if(f(temp)*f(min)<0)
{
max=temp;
if(fabs(f(max)-f(min))<eps)
break;
}
else
{
min=temp;
if(fabs(f(max)-f(min))<eps)
break;
}
}
cout<<"方程的解为: "<<temp<<endl;

}
else //无解的处理
cout<<"此方程在此区间上无解"<<endl;
}
//主函数入口
int main()
{
double min,max,temp;
cout<<"请输入积分下限: ";
cin>>min;
cout<<"请输入积分上限: ";
cin>>max;
if(min>max) //对于用户输入次序相反的处理
{
temp=max;
max=min;
min=temp;
}
solequ(min,max,eps);
return 0;

}
你参考下这个程序,二分法

c语言编程,求方程的根,在线等,急
使用二分法求解f(x)=x^3-x-1=0在区间(1,2)上的解 (2011-05-12 22:32:32)转载▼ 标签:二分法 区间 函数 方程 求解 计算方法 杂谈 分类: C \/\/使用二分法求解f(x)=x^3-x-1=0在区间(1,2)上的解 include<iostream.h> include<math.h> const double eps=0.000001; \/\/对于精度的...

用C语言编写一程序求解一元二次方程的根。
printf("方程的根是%.2lf和%.2lf",x1,x2);} void n(float a,float b,float c){ double x;x=(-b)\/(2*a);printf("方程的根为%.2lf",x);} void f(float a,float b,float c){ printf("方程无实数根\\n");} main(){ float a,b,c;printf("请输入a,b,c的值\\n");scanf...

关于c语言求方程的根
include<stdio.h>#include<math.h>int main(){int a,b,c;double d,x1,x2;printf("ax*x+bx+c=0\\n请输入abc的值");scanf("%d%d%d",&a,&b,&c);if((b*b-4*a*c)<0){printf("方程无实根");}else{d=b*b-4.0*a*c;if(d==0){x1=(-b\/2.0*a);}else if(d>0){x1...

c语言计算一元二次方程的根
c语言计算一元二次方程的根如下:include<stdio.h>#include<math.h>voidmain(){doublea,b,c;doublex1,x2,p;printf("请输入a,b,c:");scanf("%lf%lf%lf",&a,&b,&c);printf("\\n");p=b*b-4*a*c;x1=(-b+sqrt(p))\/(2*a);。x2=(-b-sqrt(p))\/(2*a);printf("x1=%f,...

c语言求方程的跟
int main (void){ int a,b,c;printf("Enter three numbers:\\n");scanf("%d%d%d",&a,&b,&c);while((b*b-4*a*c)<0){ printf("enter three numbers:\\n");scanf("%d%d%d",&a,&b,&c);} printf("x1=%g,x2=%g\\n",(-b+sqrt(b*b-4*a*c))\/(2*a),(-b-sqrt(b*b-...

求大神解答C语言求方程根
求ax^2+bx+c=0方程的根:(输入a回车,输入b回车,输入c回车,最后回车出结果)include<stdio.h> include<math.h> main(){ float a,b,c,x1,x2;printf("已知方程为:ax^2+bx+c=0.\\n请输入a,b,c:");scanf("%f%f%f",&a,&b,&c);if(b*b-4*a*c>=0){ x1=(-b+(sqrt(b*b-...

c语言函数求方程的根
scanf("%f %f %f",&a,&b,&c);d=b*b-4*a*c;if(a==0){ if(b==0){ if(0==c){ printf("等式0!\\n");} else { printf("输入错误!\\n");} } else { printf("只能构成一元一次方程,x=%.6f\\n",0==-(float)c\/b ? 0 : -(float)c\/b);} } else { if(d<0){ x...

C语言编程:求1元2次方程的根
void main(){ printf("求方程ax^2+bx+c=0的根:\\n");L:printf("请分别输入a,b,c的值。\\n");double a,b,c,x1,x2,x,y;char z;printf("输入a,b,c=");scanf("a=%lf,b=%lf,c=%lf\\n,&a,&b,&c");printf("你所输入的方程为%lfx^2+%lfx+%lf=0。\\n",a,b,c);...

c语言编程:求一元二次方程的根
\/2\/ax2=-b\/2\/a-sqrt(dlt)\/2\/a。cout<<a<<"x^2+"<<b<<"x+"<<c<<"=0有两个实根:";cout<<"x1="<<x1<<",x2="<<x2<<endl;} else {x1=-b\/2\/a;x2=sqrt(-dlt)\/2\/a;cout<<a<<"x^2+"<<b<<"x+"<<c<<"=0有两个虚根:"。cout<<"x="<<x1<<"+\/-"<...

c语言求一元二次方程的根
Ax2+bx+c=0 求一元二次方程:ax2+bx+c=0 的根;输入三个实数a,b,c的值,且a不等于0。#include <stdio.h>#include <math.h>int main(){;float a,b,c,x1,x2,d;printf("输入方程的三个系数:");scanf("%f %f %f",&a,&b,&c);if(a!=0);{;d=sqrt(b*b-4*a*c);x1...

相似回答