题解 | #成绩排序#
成绩排序
https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b
package main
import (
"fmt"
"sort"
)
func main() {
a := 0
b := 0
for {
n, _ := fmt.Scan(&a, &b)
if n == 0 {
break
} else {
stdu := make([]Student,a)
for i:=range stdu {
fmt.Scan(&stdu[i].name,&stdu[i].score)
}
sort.SliceStable(stdu, func(i, j int) bool {
if b == 1 {
return stdu[i].score < stdu[j].score
} else {
return stdu[i].score > stdu[j].score
}
})
for _,v := range stdu {
fmt.Printf("%s %d\n",v.name,v.score)
}
}
}
}
type Student struct {
name string
score int
}

查看8道真题和解析

