[YTU]_2865( 结构体--日期计算)
已经声明了一个日期的结构体类型,如下
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;
}
输入
年 月 日
输出
该日期在本年中的第几天
样例输入
2002 3 1
样例输出
60
提示
别忘记考虑闰年
#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 if((d.year%4==0&&d.year%100!=0)||(d.year%400==0)) { switch(d.month) { case 1:cout<<d.day<<endl;break; case 2:cout<<31+d.day<<endl;break; case 3:cout<<31+29+d.day<<endl;break; case 4:cout<<31+29+31+d.day<<endl;break; case 5:cout<<31+29+31+30+d.day<<endl;break; case 6:cout<<31+29+31+30+31+d.day<<endl;break; case 7:cout<<31+29+31+30+31+30+d.day<<endl;break; case 8:cout<<31+29+31+30+31+30+31+d.day<<endl;break; case 9:cout<<31+29+31+30+31+30+31+31+d.day<<endl;break; case 10:cout<<31+29+31+30+31+30+31+31+30+d.day<<endl;break; case 11:cout<<31+29+31+30+31+30+31+31+30+31+d.day<<endl;break; case 12:cout<<31+29+31+30+31+30+31+31+30+31+30+d.day<<endl;break; } } else { switch(d.month) { case 1:cout<<d.day<<endl;break; case 2:cout<<31+d.day<<endl;break; case 3:cout<<31+28+d.day<<endl;break; case 4:cout<<31+28+31+d.day<<endl;break; case 5:cout<<31+28+31+30+d.day<<endl;break; case 6:cout<<31+28+31+30+31+d.day<<endl;break; case 7:cout<<31+28+31+30+31+30+d.day<<endl;break; case 8:cout<<31+28+31+30+31+30+31+d.day<<endl;break; case 9:cout<<31+28+31+30+31+30+31+31+d.day<<endl;break; case 10:cout<<31+28+31+30+31+30+31+31+30+d.day<<endl;break; case 11:cout<<31+28+31+30+31+30+31+31+30+31+d.day<<endl;break; case 12:cout<<31+28+31+30+31+30+31+31+30+31+30+d.day<<endl;break; } } //end return 0; }