[题目描述]
定义一个结构体变量(包括年、月、日)。
计算该日在本年中是第几天,注意闰年问题。
输入格式:
年 月 日。
输出格式:
当年第几天。
样例输入
2000 12 31
样例输出
366
数据范围
对于100%的数据,保证日期合法 。
来源/分类(难度系数:一星)
完整代码展示:
a,b,c=map(int,input().split())
d=[31,29,31,30,31,30,31,31,30,31,30,31]
if a%4==0 and a%100!=0 or a%400==0:
sum=0
e=0
while e<b-1:
sum+=d[e]
e+=1
sum+=c
else:
d[1]=28
sum=0
e=0
while e<b-1:
sum+=d[e]
e+=1
sum+=c
print(sum)
代码解释:
“a,b,c=map(int,input().split())
d=[31,29,31,30,31,30,31,31,30,31,30,31] ”让用户输入所求的年,月,日份。建立一个空列表,列表中依次储存年份为闰年的十二个月份的天数。
“if a%4==0 and a%100!=0 or a%400==0:
sum=0
e=0
while e<b-1:
sum+=d[e]
e+=1
sum+=c
else:
d[1]=28
sum=0
e=0
while e<b-1:
sum+=d[e]
e+=1
sum+=c ”,首先判断所给是否为闰年,如果是,则先求出所给份数前所有月份的天数总和,再加上所给日期数,即为所求的天数;否则先将列表d中的第二个元素替换为28(即将二月份的天数改为28),接着求出所给份数前所有月份的天数总和,再加上所给日期数,即为所求的天数。
“print(sum) ”,打印天数。
运行效果展示: