题解 | #统计字符#

统计字符

https://www.nowcoder.com/practice/539054b4c33b4776bc350155f7abd8f5

package main

import (
	"fmt"
	"os"
    "bufio"
)

func calculateLetter(s string) {
    var letterCnt, blankCnt, digitCnt, otherCnt int

    for i:=0; i<len(s); i++ {
        if ('A' <= s[i] && s[i] <= 'Z') || ('a' <= s[i] && s[i] <= 'z') {
            letterCnt++
        } else if s[i] == ' ' {
            blankCnt++
        } else if '0' <= s[i] && s[i] <= '9' {
            digitCnt++
        } else {
            otherCnt++
        }
    }

    fmt.Printf("%d\n%d\n%d\n%d", letterCnt, blankCnt, digitCnt, otherCnt)
}

func main() {
    var s string

    inputReader := bufio.NewReader(os.Stdin)
    line, _, _ := inputReader.ReadLine()

    s = string(line)
    calculateLetter(s)
}
// 本题输入为一行字符串,包含空格,所以采用:inputReader.ReadLine()

全部评论

相关推荐

白火同学:只是实习的话,你这份简历应该也差不多了。真要优化的话,因为面实习的话,没有开发经验,面试更重视技术栈水平。 1、重视JavaSE的基础吧,集合、泛型算是比较基础的基础,多线程、反射、JVM内存模型才是基础; 2、技术栈写到具体的点,比如Elasticsearch的使用写到某个点,限制面试官自由发挥,防止问了相关问题最后又答不上,如果真没把握建议不写,降低面试官的心理预期; 3、技术栈不要重复,比如技术栈第二条和第八条可以合并改为“熟悉Redis中间件,包括基本数据结构、缓存策略、持久化机制,了解缓存三剑客及其解决方案,并有相关项目经验。”; 4、项目指标量化,比如“达到xx秒的响应速度”(不过这个就有点偏校招社招的要求了,实习简历不写也无伤大雅)。
点赞 评论 收藏
分享
06-07 17:17
嘉兴学院 教师
心爱的idea:你孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务