golang实现(三位数0-7组成求能组成奇数个数)(随机1-100以内数10个且没有重复)(一个字符串,将小写转换为大写)

package main

import (
	"fmt"
	"math/rand"
	"time"
)

// 练习
// 一个三位数由0-7组成,求所能组成的奇数的个数
func test1() int {
	counter := 0
	for i := 100; i < 779; i++ {
		if i%2 != 0 {
			counter++
		}
	}
	return counter
}

// 随机1-100以内的数,10个并且没有重复
func test2() [10]int {
	var arr [10]int
	rand.Seed(time.Now().UnixNano())
	for i := 0; i < 10; i++ {
		num := rand.Intn(101)
		for _, v := range arr {
			if v == num {
				arr[i] = rand.Intn(101)
				continue
			}
		}
		arr[i] = num
	}
	return arr
}

// 从键盘输入一个字符串,将小写字母全部转换为大写字母
func test3() {

}

//TODO
// 从键盘输入一个字符串,统计各个字符出现的次数
func test4a() {
	var counter string
	fmt.Printf("请输入要统计的字符串:")
	fmt.Scan(&counter)
	// 将字符串转为切片
	slice := []byte(counter)
	var num [26]int
	for i := 0; i < len(slice); i++ {
		//计算字符和a的偏移量  (差值)
		offset := slice[i] - 'a'
		num[offset]++
	}
	for k, v := range num {
		if v != 0 {
			fmt.Printf("字符:%c 出现的次数为:%d\n", k+'a', v)
		}
	}
}
func test4b() {
	var counter string
	fmt.Printf("请输入要统计的字符:")
	fmt.Scan(&counter)
	// 将字符串转为切片
	slice := []byte(counter)
	var num [256]int
	for i := 0; i < len(slice); i++ {
		num[slice[i]]++
	}
	for k, v := range num {
		if v != 0 {
			fmt.Printf("字符:%c 出现的次数为:%d\n", k, v)
		}
	}
}

func mainslice1a() {
	//fmt.Println(test1())
	//fmt.Println(test2())
	//fmt.Println(len(test2()))
	test4b()
}
发布了45 篇原创文章 · 获赞 9 · 访问量 2244

猜你喜欢

转载自blog.csdn.net/adsszl_no_one/article/details/105369109