
思路:闰年、平年的每个月份的天数分别存放在一个数组中。用sum记录总天数,各月份天数相加else sum+=run[i];,直到总和大于等于给定的d,便可以得到月份month=i+1;和具体天数day=d-sum;。
#include <iostream>
using namespace std;
int main()
{
int y,d,month,day,sum=0;
int run[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int ping[12]={31,28,31,30,31,30,31,31,30,31,30,31};
cin >> y >> d;
if(y%400==0||(y%4==0&&y%100!=0))
{
for(int i=0;i<12;i++)
{
if(sum+run[i]>=d)
{
month=i+1;
day=d-sum;
break;
}
else sum+=run[i];
}
}
else
{
for(int i=0;i<12;i++)
{
if(sum+ping[i]>=d)
{
month=i+1;
day=d-sum;
break;
}
else sum+=ping[i];
}
}
cout << month << endl << day << endl;
return 0;
}
博客介绍了根据给定天数计算月份和具体日期的思路。将闰年、平年各月天数分别存于数组,用sum记录总天数,通过各月份天数相加,当总和大于等于给定天数d时,即可得出月份和具体天数。
501

被折叠的 条评论
为什么被折叠?



