写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
数据范围:
package main import ( "bufio" "fmt" "os" "strings" ) func main() { reader := bufio.NewReader(os.Stdin) s, _ := reader.ReadString('\n') s = strings.TrimSpace(s) // 去掉字符串末尾的换行符 fmt.Println(Stats(s)) } func Stats(s string) int { if strings.Contains(s, " ") { words := strings.Split(s, " ") lastWord := words[len(words)-1] return len(lastWord) } else { // 如果字符串中没有空格,那么整个字符串就是一个单词 return len(s) } } 作者:阿塔利亚 链接:https://www.nowcoder.com/discuss/601937124866174976 来源:牛客网
package main import ( "fmt" "strings" "bufio" "os" ) func main() { var str, ru string scanner := bufio.NewScanner(os.Stdin) scanner.Scan() str = scanner.Text() scanner.Scan() ru = scanner.Text() str = strings.ToLower(str) ru = strings.ToLower(ru) n := 0 for _, v := range str{ if string(v) == ru{ n++ } } fmt.Println(n) }关键在于scan()每次只能读一行。
package main import ( "bufio" "fmt" "os" "strings" ) func main() { reader := bufio.NewReader(os.Stdin) char, _ := reader.ReadString('\n') char = strings.Replace(char, "\n", "", -1) char = strings.ToUpper(char) target, _ := reader.ReadString('\n') target = strings.Replace(target, "\n", "", -1) target = strings.ToUpper(target) fmt.Println(strings.Count(char, target)) }
package main import ( "bufio" "fmt" "os" "strings" ) func main() { input:=bufio.NewScanner(os.Stdin) input.Scan() strA:=input.Text() input.Scan() strB:=input.Text() strA=strings.ToLower(strA) strB=strings.ToLower(strB) parts:=strings.Split(strA, strB) fmt.Printf("%d",len(parts)-1) }
package main import "strings" import "fmt" func count(s, target string) (n int) { s = strings.ToLower(s) target = strings.ToLower(target) var count int for _, v := range s { if target == string(v) { count++ } } return count } func main(){ s:="ABCA" t:="a" n:=count(s,t) fmt.Println(n) }
package main import ( "bufio" "os" "strings" "fmt" ) func main(){ reader:= bufio.NewReader(os.Stdin) text,_,_:=reader.ReadLine() char,_,_:=reader.ReadLine() var str string=strings.ToUpper(string(text)) var ch string=strings.ToUpper(string(char)) fmt.Println(strings.Count(str,ch)) }
package main import ( "strings" "fmt" "bufio" "os" ) func main() { scanner := bufio.NewScanner(os.Stdin) scanner.Scan() str := scanner.Text() scanner.Scan() targetChar := scanner.Text() array := strings.Split(str, "") count := 0 for _, char := range array { if strings.ToLower(char) == strings.ToLower(targetChar) { count ++ } } fmt.Println(count) }
package main import ( "bufio" "fmt" "os" "strings" ) func main() { // 读取输入 reader := bufio.NewReader(os.Stdin) str,_ := reader.ReadString('\n') // 去掉末尾"\n" //str = strings.Trim(str,"\n") str = strings.Replace(str,"\n"," ", -1) //fmt.Println("str:" + str) // 读取输入 var str2 string fmt.Scanln(&str2) str2 = strings.Replace(str2,"\n"," ", -1) //fmt.Println("str2:" + str2) // 统计字符出现次数 var num int = 0 for _,v := range str { //fmt.Println(reflect.TypeOf(v)) if string(v) == str2 || strings.ToLower(string(v)) == str2 { num ++ } } fmt.Println(num) }# 为何IDE可以通过,但牛客网上咋通不过测试呢