时间限制:2.000S  空间限制:32MB

题目描述

你的任务是计算a+b。

输入描述

输入包含一系列的a和b对,通过空格隔开。一对a和b占一行。

输出描述

对于输入的每对a和b,你需要依次输出a、b的和。

如对于输入中的第二对a和b,在输出中它们的和应该也在第二行。

输入示例
3 4
11 40
输出示例
7
51

答案

fmt.Scan + fmt.Println

package main
 
import (
    "fmt"
)
 
func main() {
    var a, b int
    for {
        _, err := fmt.Scan(&a, &b)
        if err != nil {
            break
        }
        fmt.Println(a + b)
    }
}

bufio.NewScanner + strings.Builder

package main
 
import (
    "fmt"
    "strings"
    "strconv"
    "bufio"
    "os"
)
 
func main() {
    var builder strings.Builder
    input := bufio.NewScanner(os.Stdin)
    for input.Scan() {
        arr := strings.Split(input.Text(), " ")
        a, _ := strconv.Atoi(arr[0])
        b, _ := strconv.Atoi(arr[1])
        builder.WriteString(strconv.Itoa(a + b))
        builder.WriteByte('\n')
    }
    fmt.Print(builder.String())
}

bufio.NewScanner + bufio.NewWriterSize

package main
 
import (
    "strings"
    "strconv"
    "bufio"
    "os"
)
 
func main() {
    input := bufio.NewScanner(os.Stdin)
    output := bufio.NewWriterSize(os.Stdout, 1 << 20)
    for input.Scan() {
        arr := strings.Split(input.Text(), " ")
        a, _ := strconv.Atoi(arr[0])
        b, _ := strconv.Atoi(arr[1])
        output.WriteString(strconv.Itoa(a + b))
        output.WriteByte('\n')
    }
    output.Flush()
}