题解 | #统计字符#
统计字符
https://www.nowcoder.com/practice/539054b4c33b4776bc350155f7abd8f5
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
var in []byte
scanner := bufio.NewScanner(os.Stdin)
scanner.Scan()
in = scanner.Bytes()
isAlp := func(c byte) bool { return c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' }
isSpace := func(c byte) bool {
return c == ' '
}
isDig := func(c byte) bool { return c >= '0' && c <= '9' }
var alpNum, spaNum, digNum, othNum int
for _, v := range in {
if isAlp(v) {
alpNum++
} else if isSpace(v) {
spaNum++
} else if isDig(v) {
digNum++
} else {
othNum++
}
}
fmt.Printf("%d\n%d\n%d\n%d\n", alpNum, spaNum, digNum, othNum)
}
查看22道真题和解析
