欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

GO版本三天打鱼两天晒网

程序员文章站 2024-02-03 10:05:46
...

Go版本三天打鱼两天晒网

题目:

如果从1990年1月1日起开始执行“三天打鱼两天晒网” 判断以后的某一天是“打鱼”还是“晒网”

思路:

1.计算从1990-1-1到输入时间的总天数
2. 3天打鱼,2天晒网的转换为算式

func killOrbask(){
	var (
		year int32
		month int32
		//当日天数
		nowday int32 
		//年总天数
		yearday int32
		//月总天数
		monthDay int32

		//月天数叠加
		monthdays int32 
		//年天数叠加
		yeardays int32 
		//天数叠加
		days int32 
	)
		fmt.Println("输入年月日")
		fmt.Scanln(&year)
		fmt.Scanln(&month)
		fmt.Scanln(&nowday)

	//从1990遍历到year , 日子叠加 
	var i int32
	for i =1990; i<=year ;i++{
		 // 判断是不是润年
		if 	i % 4 == 0 && i % 100 != 0 || i % 400 == 0{
			yearday = 366 //2月有29号  
			yeardays +=yearday 
		}else{
			yearday = 365
			yeardays +=yearday 
		}
		
		switch month{
			case 1,3,5,7,9,11:
				 monthDay =31
				 monthdays += monthDay
			case 4,6,8,10,12 :
				 monthDay = 30
				 monthdays += monthDay
			case 2:
				if i % 4 == 0 && i % 100 != 0 || i % 400 == 0{
					monthDay = 29//2月有29号   
					monthdays += monthDay
				}else{
					monthDay = 28
					monthdays += monthDay
				}
		}
		days +=monthdays+yeardays+nowday
	}
	fmt.Printf("从1990年1月1日到现在一共过了%v天\n",days)


	//判断晒网 打鱼 总天数%5 == [1,2,3]打鱼  [4,0]晒网
	switch days%5{
		case 1,2,3:
			fmt.Printf("今天是%v - %v - %v 应该打鱼",year,month,nowday)
		case 4,0:
			fmt.Printf("今天是%v - %v - %v 应该晒网",year,month,nowday)
	}
}
相关标签: go go入门 go