白板编程练习

247 阅读1分钟

1

image.png

package main

import (
   "fmt"
   "io"
)

func main()  {
   var num int
   fmt.Scan(&num)

   for ;num>0;num--{
      var a,b int
      if _,err := fmt.Scan(&a,&b);err!=io.EOF{
         fmt.Println(a+b)
      }else {
         break
      }

   }
}

image.png

2

image.png

image.png

package main

//输入数据包括多组。
//每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入。
//接下来n个正整数,即需要求和的每个正整数。

import (
   "bufio"
   "fmt"
   "os"
   "strconv"
   "strings"
)
//input := bufio.NewScanner(os.Stdin) os.Stdin是标准输入描述结构,类似C语言中的FILE。
//处理输入的时候将该结构使用bufio包中的Scanner类型进行包装。
//每次调用input.Scan(),即读入下一行,并移除行末的换行符,读取的内容可以使用input.Text()获取。
func main1(){
   input := bufio.NewScanner(os.Stdin)
//输入2 2 2  字符串“2 2 2”  长度5
   for input.Scan(){
      //fmt.Println(reflect.TypeOf(input.Text()))  //他就是输入的字符串
      //fmt.Println(len(input.Text()))
      //strings.Split函数用于将指定的分隔符切割字符串,并返回切割后的字符串切片。
      nums := strings.Split(input.Text(), " ")
      //fmt.Println(reflect.TypeOf(nums)) ////[2 2 2] 字符串切片  []string
      if nums[0] == "0"{
         break
      }
      res := 0
      for i:=1; i<len(nums); i++{
         num, _ := strconv.Atoi(nums[i])
         res += num
      }
      fmt.Println(res)
   }
}

3

image.png

package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
func main(){
   input := bufio.NewScanner(os.Stdin)
   input.Scan()
   t,_ := strconv.Atoi(input.Text())
   for i:=0;i<t;i++{
      input.Scan()
      nums := strings.Split(input.Text()," ")
      //fmt.Println(reflect.TypeOf(nums))
      n,_ := strconv.Atoi(nums[0])

      res := 0
      for i:=1;i<=n;i++{
         num,_ := strconv.Atoi(nums[i])
         res += num
      }
      fmt.Println(res)
   }


}

4

image.png