问题描述:
【项目2-二分法解方程】
二分法是在计算机科学中很重要的一种方法,用于查找产生二分查找算法,还可以用在很多场合。
可以用二分法解方程。
对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫二分法。
程序代码
#include <stdio.h>
/*
*csdn学院--2016级
*目的:让代码见证成长(作为一个初学的菜鸟,如
*大家有发现错误,欢迎指正!)
*文件名称:Myfun153.c
*作者:小臣小仁
*完成日期:2017年4月28日
*/
double f(double);
int main()
{
double a,b,t;
do{
printf("请输入a b的取值范围:");
scanf("%lf %lf",&a,&b);
}while(f(a)*f(b)>=0);
printf("%.1f到%.1f之间有一个解!",a,b);
do{
t=(a+b)/2;
if(f(t)*f(b)<0)
a=t;
else
b=t;
}while((f(t)>1e-5)||(f(t)<-1e-5));
printf("方程跟为:%.5lf\n",t);
return 0;
}
double f(double x)
{
return(3*x*x*x-5*x*x+3*x-6);
}
输出结果
心得体会
作为一个大学二的菜鸟,开始慢慢前进,多多少少感到有收获,由于水平有限,多多少少有错,望包涵
心得体会
作为一个大学二的菜鸟,开始慢慢前进,多多少少感到有收获,由于水平有限,多多少少有错,望包涵