题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723
package main import ( "fmt" "sort" ) func main() { var n int fmt.Scanln(&n) strs := make([]string, n) for i := 0; i < n; i++ { fmt.Scanln(&strs[i]) } sort.Strings(strs) for _, str := range strs { fmt.Println(str) } }
这个程序首先读取整数n,表示有n个字符串。然后使用make
函数创建一个存储字符串的切片strs
,大小为n。接下来通过循环读取n行字符串,并将它们存储到strs
中。
然后,使用sort.Strings
函数对strs
进行排序,以按照字典序排列字符串。
最后,使用循环遍历排序后的字符串切片,并逐行输出结果。
package main import ( "bufio" "fmt" "os" "sort" ) func main() { // 读取输入 reader := bufio.NewReader(os.Stdin) n := 0 fmt.Fscanf(reader, "%d\n", &n) strs := make([]string, n) for i := 0; i < n; i++ { fmt.Fscanf(reader, "%s\n", &strs[i]) } // 排序字符串 sort.Strings(strs) // 输出结果 for _, str := range strs { fmt.Println(str) } }