[go学习笔记.第六章.函数.练习] 编写一个函数:判断是打鱼还是晒网

您所在的位置:网站首页 打鱼晒网最新一期 [go学习笔记.第六章.函数.练习] 编写一个函数:判断是打鱼还是晒网

[go学习笔记.第六章.函数.练习] 编写一个函数:判断是打鱼还是晒网

2024-07-05 09:25| 来源: 网络整理| 查看: 265

package main import ( "fmt" ) //编写一个函数:判断是打鱼还是晒网 func fishONet() { //"三天打鱼,两天晒网",如果从1990.01.01起执行"三天打鱼,两天晒网",如何判断今后的某一天是"打鱼"还是"晒网" //思路: //首先计算出1990年1月1日到输入的年月日之间共有多少天: //第一步,1990年1月1日到所输入的年份之间的天数 需要注意的是:平年365天,闰年366天 //第二步,输入的这个年份中,从1月1号一直到输入的月份之间的天数 //第三步,输入的日期即为当月的天数 //然后“三天打鱼两天晒网”一共五天,每隔五天循环一次,那么,可以用总的天数除以5,得出余数: //如果余数是1,2,3,则输出“今日打鱼” //如果余数是4,0,则输出“今日晒网” //定义年月日 var year, month, day int //判断年月日是否输入正确 fmt.Println("请输入年:") fmt.Scanln(&year) if year < 1990 { fmt.Println("你输入的年份错误,请重新输入!") return } fmt.Println("请输入月:") fmt.Scanln(&month) if month < 1 || month > 12 { fmt.Println("你输入的月份错误,请重新输入!") return } fmt.Println("请输入日:") fmt.Scanln(&day) //日判断 if day < 1 || day > 31 { fmt.Println("你输入的日期错误,请重新输入!") return } // 2月份比较特殊,闰年(能被4整除,并且不能被100整除;或者能被400整除)28天,平年29天 if month == 2 { if (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 { if day > 28 { fmt.Println("你输入的日期错误,请重新输入!") return } } else { if day > 29 { fmt.Println("你输入的日期错误,请重新输入!") return } } } //计算1990年1月1日到输入的年月日之间共有多少天 //定义一个变量,保存从1990年1月1日到输入的年月日之间共有的天数 count := 0 //计算多少年 for i := 1990; i < year; i++ { //闰年366天,平年365 if (i % 4 == 0 && i % 100 != 0) || i % 400 == 0 { count += 366 } else { count += 365 } } //计算月份 for j := 1; j < month; j++ { switch month { case 1, 3, 5, 7, 8, 10, 12: count += 31 case 4, 6, 9, 11: count += 30 case 2: // 2月份比较特殊,需要判断闰年还是平年 if (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 { count += 29 } else { count += 28 } } } //计算总的天数 count += day fmt.Println(count) //计算打鱼还是晒网: //总的天数除以5,得出余数: // 如果余数是1,2,3,则输出“今日打鱼” // 如果余数是4,5,则输出“今日晒网” result := count % 5 switch result { case 1, 2, 3: fmt.Println("今日打鱼") case 4, 0: fmt.Println("今日晒网") } } func main() { fishONet() }

上一节:[go学习笔记.第六章.练习] 循环打印输入年月日,(使用continue实现);随机猜数游戏;输出100以内的所有素数;输出小写的a-z以及大写的A-Z,使用for循环

下一节:[go学习笔记.第六章.函数.练习] 编写一个函数:输出小写的a-z以及大写的A-Z,使用for循环 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3