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

题目描述

你的任务是计算若干整数的和。

输入描述

每行的第一个数N,表示本行后面有N个数。

如果N=0时,表示输入结束,且这一行不要计算。

输出描述

对于每一行数据需要在相应的行输出和。

输入示例
4 1 2 3 4
5 1 2 3 4 5
0 
输出示例
10
15

答案

fmt.Scan

package main
 
import (
    "fmt"
)
 
func main() {
    var sum, cur, n int
    for {
        _, err := fmt.Scan(&n)
        if err != nil || n == 0 {
            break
        }
        for ; n > 0; n-- {
            fmt.Scan(&cur)
            sum += cur
        }
        fmt.Println(sum)
        sum = 0
    }
}

bufio.NewScanner

package main
 
import (
    "bufio"
    "os"
    "fmt"
    "strings"
    "strconv"
)
 
func main() {
    input := bufio.NewScanner(os.Stdin)
    for input.Scan() {
        arr := strings.Split(input.Text(), " ")
        if arr[0] == "0" {
            break
        }
        res := 0
        for _, v := range arr[1:] {
            cur, _ := strconv.Atoi(v)
            res += cur
        }
        fmt.Println(res)
    }
}