fc.c

来自「解三次方程源码」· C语言 代码 · 共 47 行

C
47
字号
#include<stdio.h>
#include<math.h>

float f(float x){

float y;
y=2/x-2/(x*x*(1-exp(-x)))-0.1261;
return y;

}

float xpoint(float x1,float x2){
float y;
y=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));
return y;
}

float root(float x1,float x2){

float x,y,y1;
y1=f(x1);
do
{x=xpoint(x1,x2);
y=f(x);
if(y*y1>0)
{y1=y;x1=x;}

else x2=x;}
while(fabs(y)>=0.000001);
return (x);
}


void main(){
float x1,x2,f1,f2,x;
do
{
printf("input:x1,x2:\n");
scanf("%f%f",&x1,&x2);
f1=f(x1);
f2=f(x2);
}
while(f1*f2>=0);
x=root(x1,x2);
printf("A root is%8.4f\n",x);

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?