package main
import (
"fmt"
"bufio"
"os"
"strconv"
"math"
)
func main() {
var inpA = bufio.NewScanner(os.Stdin)
var inpB = bufio.NewScanner(os.Stdin)
var inpC = bufio.NewScanner(os.Stdin)
fmt.Print("input A value: ")
inpA.Scan()
fmt.Print("input B value: ")
inpB.Scan()
fmt.Print("input C value: ")
inpC.Scan()
cal(inpA.Text(),inpB.Text(),inpC.Text())
}
func cal(INP1, INP2, INP3) string{
b := INP2
a := INP1
c := INP3
e := 4
la := 2
a2 := float64(e)*float64(a)
b2 := float64(b*b)
ac := float64(e)*float64(a)*float64(c)
q := math.Sqrt(math.Abs(b2-ac))
x := q/a2
Rx := x
fmt.Print("x = " + strconv.Itoa(Rx))
}
我做错了什么?我想要做的就是将输入传递给func cal。我也遇到打印Rx的问题。因为它是浮子。那么如何将x / RX更改为非浮动?
答案 0 :(得分:0)
@JimB已经指出func cal没有参数类型。此外,还有其他问题需要:
看看这个更新的功能:
func cal(INP1, INP2, INP3 string) string{
b,_ := strconv.ParseFloat(INP2, 64)
a,_ := strconv.ParseFloat(INP1, 64)
c,_ := strconv.ParseFloat(INP3, 64)
e := 4
la := 2
a2 := float64(e)*float64(a)
b2 := float64(b*b)
ac := float64(e)*float64(a)*float64(c)
q := math.Sqrt(math.Abs(b2-ac))
x := q/a2
Rx := x
fmt.Print("x = " + strconv.FormatFloat(Rx, 'f', 6, 64))
fmt.Print(la)
return "return value"
}
现在我用la打印了它。