使用goland,通过键盘输入某年某月某日,计算并输出这一天是这一年的第几天。例如,2001年3月5日是这一年的第64天。 注意:使用分支结构语句实现。
时间: 2024-09-09 07:12:07 浏览: 65
在Go语言(goland)中,可以通过编写一个程序来实现计算输入日期是该年的第几天。程序需要考虑到不同月份的天数以及闰年的情况。下面是一个简单的实现示例:
```go
package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
"time"
)
func isLeapYear(year int) bool {
// 判断是否为闰年
return year%4 == 0 && (year%100 != 0 || year%400 == 0)
}
func main() {
reader := bufio.NewReader(os.Stdin)
fmt.Println("请输入年份:")
input, _ := reader.ReadString('\n')
yearStr := strings.TrimSpace(input)
year, _ := strconv.Atoi(yearStr)
fmt.Println("请输入月份:")
input, _ = reader.ReadString('\n')
monthStr := strings.TrimSpace(input)
month, _ := strconv.Atoi(monthStr)
fmt.Println("请输入日期:")
input, _ = reader.ReadString('\n')
dateStr := strings.TrimSpace(input)
date, _ := strconv.Atoi(dateStr)
if month < 1 || month > 12 || date < 1 || date > 31 {
fmt.Println("输入的日期不正确。")
return
}
daysInMonth := []int{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
if !isLeapYear(year) {
daysInMonth[1] = 28 // 非闰年二月为28天
}
// 计算输入日期是这一年的第几天
totalDays := 0
for i := 0; i < month-1; i++ {
totalDays += daysInMonth[i]
}
totalDays += date
fmt.Printf("%d年%d月%d日是这一年的第%d天。\n", year, month, date, totalDays)
}
```
这段代码首先定义了一个判断闰年的函数`isLeapYear`,然后通过标准输入读取用户输入的年、月、日信息。在`main`函数中,首先通过分支结构语句判断月份和日期的有效性,然后根据月份累加天数,并加上当天的日期来计算出是这一年的第几天。
阅读全文
相关推荐
















