当前位置:首页 » 编程语言 » c语言求根函数什么意思
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言求根函数什么意思

发布时间: 2022-06-05 02:40:44

c语言,求根公式

你的if语句那的括号有问题

#include<stdio.h>
#include<math.h>
intmain(){
doublea,b,c,d,x1,x2;
scanf("%f%f%f",&a,&b,&c);
if(a==0){
if(b==0){
if(c==0)
printf("该式为恒等式 ");
else
printf("该式不成立,请重新输入a,b,c ");
}else{
x1=c/b;
printf("x1=x2=%f ",x1);
}else
d=b*b-4*a*c;
if(d<0){
d=-d;
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f,虚根 ",x1,x2);
}else{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f ",x1,x2);
}
return0;
}

② 关于C语言中sqrt函数的运用!求解题!

k是int sqrt()返回的是float 你没有强制类型转换

③ c语言求根这个程序哪里错了

需要包含头文件:
#include <math.h>

在linux 用gcc编译的话需要加参数 -lm

④ C语言表编程:用二分法求一元三次方程的根 要求:又主函数调用求根子函数

二分法的基本思路是:任意两个点x1和x2,判断区间(x1,x2)内有无一个实根,如果f(x1)与f(x2)符号相反,则说明有一实根。接着取(x1,x2)的中点x,检查f(x)和f(x2)是否同号,如果不同号,说明实根在(x,x2)之间,如果同号,在比较(x1,x),这样就将范围缩小一半,然后按上述方法不断的递归调用,直到区间相当小(找出根为止)!

比如用二分法求f(x)=x^3-6x-1=0的实根。

代码如下(已调试):

#include "math.h"
main()
{
float x,x1,x2;
float F(float x,float x1,float x2);
printf("请输入区间[x1,x2]\n");
scanf("%f%f",&x1,&x2);
printf("x=%f\n",F(x,x1,x2));

}
float F(float x,float x1,float x2)
{
float f,f1,f2;
do

{
f1=pow(x1,3)-6*x1-1.0;
f2=pow(x2,3)-6*x2-1.0;
}while(f1*f2>0); //确保输入的x1,x2使得f1,f2符号相反
do
{
x=(x1+x2)/2; //求x1,x2的中点
f=pow(x,3)-6*x-1.0;
if(f1*f>0) //当f与f1符号相同时
{x1=x;f1=f;}
else if(f2*f>0) //当f与f2符号相同时
{x2=x;f2=f;}
}while(fabs(f)>1e-6); //判断条件fabs(f)>1e-6的意思是f的值非常0
return x;
}

输入:1 5
则输出:x=2.528918
输入:-10 10
则输出:x=2.528918

⑤ C语言方程求根问题不懂

这个问题如果要完整地讲还是比较复杂的,简单一点的话你就可以记住浮点数的表示和运算结果都有舍入误差,并不一定是完全精确的。
举个例子,double型的数据,a=0.1,
b=0.6,
c=0.9,
理论上讲disc=0,但如果你不开编译优化的话会算出disc=-5.55e-17,这样原本两个实根就被判定成虚根了。
当然,反过来disc很小(非0)被判定成0也是有可能的。不过不论哪种情况,只有disc<0和disc=0被混淆才是比较严重的问题,因为disc>=0的两种状态即使区分不清楚也总是对应两个实根。

⑥ C语言求根函数是什么

在math.h头文件 sqrt 采纳的意见和我的有区别么 哎

⑦ 简单问题c语言 求根函数,为什么无论输入什么输出的根都一样

sqrt的返回值类型是double型,你输出的时候用%d当然结果是错的了,可以试试类型转换,把最后一个printf语句改成如下:
printf("%d\n",(int)sqrt(n));

⑧ C语言sqrt()的用法

C语言中sqrt函数的使用方法:

C语言中sqrt函数是指的开方运算函数,得到的结果是函数变量(可以是数值,也可以是变量名)的算术平方根。在VC6.0中的math.h头文件的函数原型为doublesqrt(double)。

说明:sqrt系SquareRootCalculations(平方根计算),通过这种运算可以考验CPU的浮点能力。

程序例:

#include

#include

intmain(void)

{

doublex=4.0,result;

result=sqrt(x);//result*result=x

printf(“Thesquarerootof%fis%f ”,x,result);

return0;

}

VC2008后为重载函数,原型为floatsqrt(float),doublesqrt(double),doublelongsqrt(doublelong)

注意没有sqrt(int),但是返回值可以为int。

注意事项:

1.sqrt函数运行的结果是算术平方根,即不能运算出负数值,也不能输出虚数结果。如需要得到算术平方根中的负数值,则应该在sqrt函数前添加负号。

2.sqrt函数的参数必须是非负数值,如果是负数值,则输出会报错,即数值无效;如果参数是未定义的非数字变量,则按回车后也会报错,即变量名有误。

3.sqrt函数的计算精度与C语言设置的精度有关,可以通过设置更改精度。

⑨ C语言一元三次方程求根!

z[0]=z[1]=z[2]=-c/d;
这个是除以b吧

⑩ C语言中sqrt是什么意思有什么用处

C语言中sqrt是求一个数的算术平方根。需要包含头文件math.h。
sqrt(2)= 1.414213