gpt4 book ai didi

go - 从标准输入读取 n 个整数/ float /字符串

转载 作者:数据小太阳 更新时间:2023-10-29 03:17:09 24 4
gpt4 key购买 nike

算法竞赛的问题是提供多行输入,第一行指定输入的数量。示例 -

3
78
42
99

第一行告诉我们将有 3 个整数,然后是三个整数。

目前,我有以下代码来阅读它们 -

package main

import "fmt"

func main() {
var num []int
var input int
var count int

fmt.Scanf("%d", &count)

for {
if (count == 0) {
break
}

fmt.Scanf("%d", &input)
num = append(num, input)

count--
}
}

有没有更好的方法来实现这个?出于某种原因,上述方法感觉很笨拙。

最佳答案

此代码将所有内容插入循环 header ,并将 input 放入可能的最局部范围。您也应该检查 Scanf 返回的错误:

package main

import "fmt"

func main() {
var num []int
var count int
var err error

for _, err = fmt.Scanf("%d\n", &count); err == nil && count > 0; count-- {
var input int
_, err = fmt.Scanf("%d\n", &input)
num = append(num, input)
}

if err != nil {
panic(err)
}

}

有大约一百万种编写等效代码的方法,这对我来说似乎是最好的。可以提出将错误检查放在 append 之前的循环中的论据,但由于遇到错误可能会使列表无效,所以我认为这样看起来更漂亮。

关于go - 从标准输入读取 n 个整数/ float /字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27775337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com