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;
}
上一题
下一题