题解 | #统计字符#
统计字符
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) }