在go语言中实现二次函数(二次方程)计算的示例代码
如何用Golang进行二次计算。比如:这个程序从命令行接受两个浮点值,并使用二次方程计算根。它还检查输入值是否为浮点数。
代码示例:
package main
import (
"fmt"
"math"
"os"
"strconv"
)
func main() {
b, err := strconv.ParseFloat(os.Args[1], 10)
if err != nil {
fmt.Println("第一个输入参数必须是float类型的")
os.Exit(1)
}
c, err := strconv.ParseFloat(os.Args[2], 10)
if err != nil {
fmt.Println("第二个输入参数必须是float类型的")
os.Exit(1)
}
fmt.Println("b : ", b)
fmt.Println("c : ", c)
// 计算多项式的根数
// 利用二次方程计算x^2 + bx + c
discriminant := b*b - 4.0*c
d := math.Sqrt(discriminant)
fmt.Printf("%0.6f\n", ((-b + d) / 2.0))
fmt.Printf("%0.6f\n", ((-b - d) / 2.0))
}
输出:
$./quadratic -1.0 -1.0
b : -1
c : -1
1.618034
-0.618034
$ ./quadratic -3.0 2.0
b : -3
c : 2
2.000000
1.000000
相关文章