go语言面试题:输入一段英文字符串,找出重复出现次数最多的字母

这是一道Go语言面试题目,要求输入一段英文字符串,通过程序找出其中重复出现次数最多的字母。用户需在输入过程中以换行( )作为结束标志。程序会忽略空格,并在回车后处理输入的字符串。

点击个人博客,查看更多文章https://elonjelinek.github.io/

package main

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

func main() {
	reader := bufio.NewReader(os.Stdin)
	str, err := reader.ReadString('\n')
	if err == nil {
		fmt.Println(str)
	}
	max := 0
	maxA := ""
	for i := 'a'; i <= 'z'; i++ {
		a := string(i)
		n := strings.Count(str, a)
		if n != 0 {
			fmt.Println("该字符串中", a, "出现了", n, "次。")
		}
		if max < n {
			max = n
			maxA = a
		}
	}
	//fmt.Println(max)
	fmt.Println("重复出现次数最多的是:", maxA,",共",max,"次。") //如果有两个字母出现了同样的的次数,这样只能输出后一个。
	//for i := 'a'; i <= 'z'; i++ {
	//	n := strings.Count(str, string(i))
	//	if n == max {
	//		fmt.Println("重复出现次数最多的是:", string(i))
	//	}
	//}
}

os.stdin代表标准输入,ReadString('\n')表示遇到**换行(即\n)**结束输入。
运行之后,输入一段字母,最后按回车,这里h和t中间输入了一个空格,但是空格不结束,enter回车换行才结束

aaacccfgh tyui
aaacccfgh tyui

该字符串中 a 出现了 3 次。
该字符串中 c 出现了 3 次。
该字符串中 f 出现了 1 次。
该字符串中 g 出现了 1 次。
该字符串中 h 出现了 1 次。
该字符串中 i 出现了 1 次。
该字符串中 t 出现了 1 次。
该字符串中 u 出现了 1 次。
该字符串中 y 出现了 1 次。
重复出现次数最多的是: a ,共 3 次。

点击个人博客,查看更多文章https://elonjelinek.github.io/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值