GO语言---三天打鱼两天晒网---中国有句俗语叫“三天打鱼两天晒网”,某人从90年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天中是在“打渔”,还是在“晒网”. **

中国有句俗语叫“三天打鱼两天晒网”,某人从90年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天中是在“打渔”,还是在“晒网”. **

package main

import "fmt"


//思路是先计算出输入的时间与1990年1月1日间隔多少天,然后再用天数对5取模来判断

var MONTH = [12]int{
    
    31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}//存储非闰年的每月天数

func IsLeap(year int)  int{
    
        //函数功能--判断是否闰年
	if year%4 == 0 && year%100 != 0 || year%400 == 0{
    
    
		return 366
	}else{
    
    
		return 365
	}
}

func SumDay(year, month, day int) int{
    
    
	sum := 0
	for i:=1990;i < year;i++{
    
       //计算出从1990到year-1年的总天数
		sum += IsLeap(i)
	}
	//再计算year年的天数
	for i:=0;i < month-1;i++{
    
     //计算一月到month-1月的天数
		sum += MONTH[i]
	}
	sum += day   //加上当月的天数
	if month>2 && IsLeap(year) == 364{
    
    
		sum += 1
	}
	return sum
}
func  main()  {
    
    
	var year,month,day int
	fmt.Print("请输入日期:")
	fmt.Scanln(&year, &month, &day)
	n := SumDay(year, month, day)
	ret := n%5
	fmt.Println(n)
	if ret == 4 || ret == 0{
    
    
		fmt.Println("他在晒网")
	}else{
    
    
		fmt.Println("他在打鱼")
	}

}

猜你喜欢

转载自blog.csdn.net/qq_52698632/article/details/113732682
今日推荐