1129: 第几天
题目描述
你知道,2012-1-1是该年的第1天,而9999-9-9呢?给你一个具体的日期,计算该日期是该年的第几天。
输入
输入一个日期,格式为:Year-month-day。year是小于9999的正整数。
输出
一个整数,表示该日期是该年的第几天。
样例输入
2012-3-1
样例输出
61
题目链接 ZZULI OJ 1129
题解及注释 (C++)
#include<iostream>
using namespace std;
int main()
{
int year,month,day,sum=0;
int md[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d-%d-%d",&year,&month,&day);
//除以400余数为0或除以4余数为零但除100余数不为零
if(year%400==0||(year%4==0&&year%100!=0))
md[2]++; //判断是否为闰年,如果是则2月多一天
for(int i=1;i<month;i++)
sum+=md[i];
cout<<sum+day;
return 0;
}