以下の仕様で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;
}
エラーの内容を教えてください。