日期问题题解大合集
算法1
先把每个月的天数给列下来:
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
再判断闰年:
if(y%4==0&&y%100!=0||y%400==0)a[2]=29;else a[2]=28;
最后我们来统计是几月几日,如果减去x
月的天数,就比0
要小了,我们就赶快退出
如果不会的话,月份+1,并且减去x
月的天数
参考文献
C++ 代码
#include<bits/stdc++.h>
using namespace std;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
int y,d;
cin>>y>>d;
if(y%4==0&&y%100!=0||y%400==0)a[2]=29;else a[2]=28;
int x=0;
while(d>0){
if(d-a[x]<=0)break;
else{
d-=a[x];
x++;
}
}
cout<<x<<'\n'<<d;
}