习题 5.9 给出年、月、日,计算该日是该年的第几天。
代码:
#include <iostream>
#include<iomanip>
using namespace std;
int main()
{
int year, month, day, days;
int fun_1(int);
int fun_2(int, int);
cout << "请输入年月日:" << endl;
cin >> year >> month >> day;
days = fun_2(month, day);
if (fun_1(year))
{
++days; //是闰年则多一天
}
cout << "该日是该年的第" << days << "天" << endl;
return 0;
}
int fun_1(int y) //判断是否是闰年
{
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
{
return 1;
}
else
{
return 0;
}
}
int fun_2(int m,int d) //计算非闰年的天数
{
int days = d,i;
int month[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
for (i = 0; i != m-1; ++i)
{
days += month[i];
}
return days;
}