其实就是PAT的一题,https://pintia.cn/problem-sets/994805260223102976/problems/994805277163896832
输入样例
```
go run main.go
3 //第一行输入的是接下来要输入几行,这行就是n
3-10 99 //后面每行都当作字符串处理,总共输入了上面3行
11-5 87
102-1 0
```
代码尝试了使用readstring和scanf都不行,我是类似下面这样判断n行的,发现每次进入循环会直接跳掉一次scanf或readstring
```
func main() {
var n int
fmt.Scanf("%d", &n)
io := bufio.NewReader(os.Stdin)
s := make([]string, n)
for i := 0; i < a; i++ {
s[i], _ = io.ReadString('\n')
fmt.Println(s[i])
}
}
```
**请教大神们,这里是不是循环的方式不对,应该怎么改写比较好?谢谢!**
func main() {
br := bufio.NewReader(os.Stdin)
strN, err := br.ReadString('\n')
if err != nil {
fmt.Println(err)
return
}
n, err := strconv.Atoi(strings.TrimSpace(strN))
if err != nil {
fmt.Println(err)
return
}
for i := 0; i < n; i++ {
line, err := br.ReadString('\n')
if err != nil {
fmt.Println(err)
return
}
fmt.Println(line)
}
}
#3
更多评论
![image.png](https://static.golangjob.cn/220418/f23483cd90784a094f3f73cf75fd2f5a.png)
#2