题解 | #统计字符#

统计字符

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)
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务