package main

import ( "fmt" "strconv" "strings" )

func main() { var n, m int fmt.Scan(&n)

nums := make([]int, n)
for i := 0; i < n; i++ {
    fmt.Scan(&nums[i])
}

fmt.Scan(&m)

operations := make([]string, m)
for i := 0; i < m; i++ {
    fmt.Scan(&operations[i])
}

for i := 0; i < m; i++ {
    index, _ := strconv.Atoi(operations[i*2])
    operator := operations[i*2+1]

    nums[index-1] = calculate(nums[index-1], nums[index], operator)
}

result := nums[0]
for i := 1; i < n; i++ {
    result = calculate(result, nums[i], "+")
}

fmt.Println(result)

}

func calculate(a, b int, operator string) int { switch operator { case "+": return a + b case "-": return a - b case "*": return a * b case "/": return a / b default: return 0 } }

写一个程序做到:现在有一串长度为n的数字它们默认用加号连接进行计算。现在一共接受四行输入第一行是一个数字n表示这串数字的长度第二行是用空格分割的这串数字第三行是一个数字m表示要进行m次操作第四输入长度为2m以空格分隔数字或符号t1o1t2o2tmom其中ti是数字oi是运算符表示把输入的默认加号连接串中第i个运算符变成oi输出变化后的m次计算结果。用go语言实现

原文地址: https://www.cveoy.top/t/topic/baMa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录