测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A20139. 计算天数

填空题 较易

题目描述

计算天数

题目描述:

以 年-月-日 的形式给定一个日期,计算给定的日期是当年第几天。注意闰年二月有 29 天。

输入:

输入格式为 yyyy-mm-dd,其中:yyyy 表示给定的年份,mm 表示给定的月份,dd 表示给定的日期。如果这些数字不足四位或二位,以 0 补足。

输出:

单个整数:表示输入的日期是当年的第几天。

数据范围:

保证月份与日期都是合理的。

输入样例1:

2021-12-31

输出样例1:

365

输入样例2:

2022-01-01

输出样例2:

1

参考答案

#include <iostream> using namespace std; int main() { int y,m,d,ans=0; int days[]= {31,28,31,30,31,30,31,31,30,31,30,31}; scanf("%d-%d-%d",&y,&m,&d); for(int i=0; i<m-1; i++) { //m月份之前的天数 ans+=days[i]; } ans+=d; //当月的天数 if(m > 2 && (y % 400 ==0 || (y%100!=0 && y%4==0))) //闰年二月 +1天 ans+=1; cout << ans; return 0; }
上一题 下一题