我正在用 C 语言编写一个具有以下规范的函数:
float find_root(float a, float b, float c, float p, float q);
find_root
取二次方程的系数 a,b,c 和区间 (p, q). 它将在给定的区间内返回这个方程的根。
例如:find_root(1, -8, 15, 2, 4)
应该产生一个根“接近” 3.0
我已经编写了以下代码,但我不明白为什么它不起作用:
#include<stdio.h>
#include<math.h>
main()
{
printf("Hello World");
}
float find_root(float a, float b, float c, float p, float q) {
float d,root1,root2;
d = b * b - 4 * a * c;
root1 = ( -b + sqrt(d)) / (2* a);
root2 = ( -b - sqrt(d)) / (2* a);
if (root1<=q || root1>=p)
{
return root1;
}
return root2;
}
请让我知道错误是什么。