编写思路
//1.创建随机数种子
//2.定义个切片,生成一个三次随机值,给切片赋值
//3.定义个一个username 切片、num int类型、 falg int类型为0
//4.for 循环输入一个三位数,进行判断如果大于100 小雨999 认为合法输入,跳出for,否则提示输入错误
//5.将输入的数,进行取整、取余 、赋值给usernum 切片的每个元素
//6.for循环进行两个切片的元素对比,并提示大小或者相等,如果相当flag 进行+1
//7.判断flag的值是否等于3,如果等于3,代表两个切片的值相同,跳出for循环,否则重置flag的值
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
//创建随机数种子
rand.Seed(time.Now().UnixNano())
//生成100 - 999 的随机数
//random := rand.Intn(900) + 100
random := make([]int,3)
random[0] = rand.Intn(9)+1
random[1] = rand.Intn(10)
random[2] = rand.Intn(10)
fmt.Println(random)
usernum := make([]int,3)
var num int
var flag int=0
for {
for {
fmt.Println("请输入一个三位数:")
fmt.Scan(&num)
if num >= 100 && num <=999{
break
}
fmt.Println("输入错误,请重新输入.")
}
usernum[0] = num / 100
usernum[1] = num / 10 % 10
usernum[2] = num % 10
for i:= 0 ; i < 3;i ++ {
if usernum[i] > random[i]{
fmt.Printf("请输入的第%d位数太大了\n",i+1)
} else if usernum[i] < random[i] {
fmt.Printf("请输入的第%d位数太小了\n",i+1)
} else {
fmt.Printf("恭喜,您输入的第%d位数相同\n",i+1)
flag++
}
}
if flag == 3 {
break
} else {
flag = 0
}
}
}