Problem A: 结构体--日期计算
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 852 Solved: 379
[ Submit][ Status][ Web Board]
Description
已经声明了一个日期的结构体类型,如下
struct Date{
int year;
int month;
int day;
};
定义一个日期变量,进行年、月、日的输入,计算该日期是本年中的第几天。
在下面代码的基础上完成,提交时只提交begin所在行和end所在行之间的代码
#include <iostream>
using namespace std;
struct Date{
int year;
int month;
int day;
};
int main()
{
Date d;
cin>>d.year>>d.month>>d.day;
//bengin
//end
return 0;
}
Input
年 月 日
Output
该日期在本年中的第几天
Sample Input
2002 3 1
Sample Output
60
HINT
别忘记考虑闰年
代码实现:
#include <iostream>
using namespace std;
struct Date{
int year;
int month;
int day;
};
int main()
{
Date d;
cin>>d.year>>d.month>>d.day;
//bengin
int count_day,i;
int month_day[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
bool leap;
count_day=d.day;
if ((d.year%4==0 && d.year%100!=0) || (d.year%400==0))
{
leap=true;
month_day[2]=29;
}
else
{
leap=false;
}
for(i=0;i<d.month;i++)
count_day=count_day+month_day[i];
cout<<count_day<<endl;
//end
return 0;
}