分享
GoLang练习实例100之004----判断日期是这一年的第几天
不折腾难受斯基 · · 3270 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
package main
import (
"fmt"
)
var(
input_Data int
result int
year_data int
month_data int
day_data int
sum int
)
//题目:输入某年某月某日,判断这一天是这一年的第几天?
func get_Input(input_Type string) (int,error) {
switch input_Type {
case "year":
fmt.Println("输入年份: ")
fmt.Scanln(&input_Data)
if input_Data <1 {
fmt.Println("年份输入错误,请重新输入!")
break
}
result = input_Data
case "month":
months := []int{0,31,59,90,120,151,181,212,243,273,304,334}
fmt.Println("输入月份:")
fmt.Scanln(&input_Data)
if (input_Data <= 12) && (input_Data<0) {
fmt.Println("月份输入错误,请重新输入!")
break
}
result = months[input_Data-1]
case "day":
fmt.Println("输入日期:")
fmt.Scanln(&input_Data)
if (input_Data <0) && (input_Data>31) {
fmt.Println("日期输入错误,请重新输入!")
break
}
result = input_Data
default:
return 0,fmt.Errorf("输入参数非法:%s",input_Type)
}
return result,nil
}
func main() {
year_data,_ = get_Input("year")
month_data,_ = get_Input("month")
day_data,_ = get_Input("day")
sum += day_data+ month_data
leap := 0
if (year_data % 400 == 0) || ((year_data % 4 == 0) && (year_data % 100 != 0)){
leap = 1
}
if (leap == 1) && (month_data > 2) {
sum += 1
}
fmt.Printf("该日期为第%s天",sum)
}
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信3270 次点击
下一篇:Go 中的等效类型
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
package main
import (
"fmt"
)
var(
input_Data int
result int
year_data int
month_data int
day_data int
sum int
)
//题目:输入某年某月某日,判断这一天是这一年的第几天?
func get_Input(input_Type string) (int,error) {
switch input_Type {
case "year":
fmt.Println("输入年份: ")
fmt.Scanln(&input_Data)
if input_Data <1 {
fmt.Println("年份输入错误,请重新输入!")
break
}
result = input_Data
case "month":
months := []int{0,31,59,90,120,151,181,212,243,273,304,334}
fmt.Println("输入月份:")
fmt.Scanln(&input_Data)
if (input_Data <= 12) && (input_Data<0) {
fmt.Println("月份输入错误,请重新输入!")
break
}
result = months[input_Data-1]
case "day":
fmt.Println("输入日期:")
fmt.Scanln(&input_Data)
if (input_Data <0) && (input_Data>31) {
fmt.Println("日期输入错误,请重新输入!")
break
}
result = input_Data
default:
return 0,fmt.Errorf("输入参数非法:%s",input_Type)
}
return result,nil
}
func main() {
year_data,_ = get_Input("year")
month_data,_ = get_Input("month")
day_data,_ = get_Input("day")
sum += day_data+ month_data
leap := 0
if (year_data % 400 == 0) || ((year_data % 4 == 0) && (year_data % 100 != 0)){
leap = 1
}
if (leap == 1) && (month_data > 2) {
sum += 1
}
fmt.Printf("该日期为第%s天",sum)
}