编程实现:输入某一年的第几天,计算并输出它是这一年的几月几日(要求考虑闰年)。
(1)主函数功能:输入某一年的第几天,调用子函数计算该天是这一年的几月几日,输出结果。
(2)子函数功能:计算某一年的第几天是这一年的几月几日,
子函数头要求为void 2022(int year, int num, int &month, int &day)。
(3)输入输出格式参见样张:
#include <iostream>
using namespace std;
void MonthDay(int year, int num, int &month, int &day)
{
month=1,day=31;
int n=num;
if(year%4==0&&year%100!=0||year%400==0)
{
while (num>day)
{
switch (month)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12: day=31;break;
case 4:case 6:case 9:case 11: day=30;break;
case 2: day=29;break;
}
num-=day;
month++;
}
}
else
{
while (num>day)
{
switch (month)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12: day=31;break;
case 4:case 6:case 9:case 11: day=30;break;
case 2: day=28;break;
}
num-=day;
month++;
}
}
day=num;
cout<<year<<"年的第"<<n<<"天是"<<month<<"月"<<day<<"号。"<<endl;
}
int main ()
{
int year,num,month,day;
cout<<"请输入一个年份:";
cin>>year;
cout<<"今天是"<<year<<"年的第几天:";
cin>>num;
MonthDay(year,num,month,day);
return 0;
}
运行结果如下: