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语言圣经》阅读笔记:第二章程序结构