3.编写一个程序,输入某年某月某日,判断这一天是这一年的第几天。
时间: 2024-09-23 12:01:03 浏览: 84
为了编写这样一个程序,你可以采用一种称为"蔡勒公式"(Zeller's congruence)的方法,它是一个简单的算法,可以用来计算给定日期是一年中的第几天。这里是一个基础的Python版本的示例:
```python
def day_of_year(year, month, day):
# 验证输入
if not (1 <= month <= 12) or not (1 <= day <= 31):
return "无效的日期"
# 蔡勒公式
if month < 3:
month += 12
year -= 1
q = day
m = month
k = year % 100
j = year // 100
h = (q + ((13 * (m + 1)) // 5) + k + (k // 4) + (j // 4) - 2*j)
if h > 365:
h %= 365
return h + 1 # 返回的就是当年的第几天,加1是因为1月1日默认认为是第一天
# 示例用法
year = int(input("请输入年份: "))
month = int(input("请输入月份(1-12): "))
day = int(input("请输入日期: "))
print(f"{year}/{month}/{day} 是当年的第{day_of_year(year, month, day)}天.")
```
这个函数会接收输入的一年、一月、一日,然后根据蔡勒公式的计算结果返回该日在当年的位置。
阅读全文