(1) 判断某年某月是这一年的第几天------方法1-----非函数调用方式
/*(1)判断某年月日是这一年的第几天----非函数调用形式
判断某年某月某日这一年中是第几天。
程序分析:以2011年3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
程序实现:
在主程序中输入输入某年某月某日,例如2012 9 18(年月日之间用空格隔开), 输出某年某月某日这一年中是第几天。
注意 在判断前要保证输入的日期是合法的。
*/
#include <iostream>
using namespace std;
int main()
{
int year,month,day; //year表示年,month存月,day存天
int sum; //存放该天是本年中的第几天
int leap; //是否是闰年的标志
cout<<"please input year,month,day(for example input 2012 9 18):";
cin>>year>>month>>day; //输入要计算的年月日
//以下循环是对输入日期(年、月、日)的合法性判断,如果输入的日期有误,需要重新输入
if(year%400==0||(year%4==0&&year%100!=0))//判断是不是闰年
leap=1; //闰年
else
leap=0; //非闰年
while((year<=0||month>12||month<=0||day<=0||day>31)||
(month==4||month==6||month==9||month==11)&&(day==31)||
(leap==1&&month==2&&day>29)||(leap==0&&month==2&&day>28))
{cout<<"input date error!"<<endl;
cout<<"please input year,month,day(for example input 2012 9 18):";
cin>>year>>month>>day;
if(year%400==0||(year%4==0&&year%100!=0))//判断是不是闰年
leap=1; //闰年
else
leap=0; //非闰