问题描述
给定一个年份 _y_和一个整数 d,问这一年的第 _d_天是几月几日?
注意闰年的2月有29天。满足下面条件之一的是闰年:
1) 年份是4的整数倍,而且不是100的整数倍;
2) 年份是400的整数倍。
输入格式
输入的第一行包含一个整数 y,表示年份,年份在1900到2015之间(包含1900和2015)。
输入的第2行包含一个整数 d, _d_在1至365之间。
输出格式
输出两行,每行一个整数,分别表示答案的月份和日期。
样例输入
2015
80
样例输出
3
21
样例输入
2000
40
样例输出
2
9
代码:
#include <map>
#include <iostream>
#include <string>
#include<algorithm>
using namespace std;
#define N 2017
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main(){
int y,d;
int day=0;
int i;
while(cin>>y>>d){
if(y%4==0&&y%100!=0||(y%400==0)){
a[2]=29;
}
int s=0;
for(i=1;i<13;i++){
s+=a[i];
if(d<s){
s-=a[i];
day=d-s;
break;
}
}
cout<<i<<endl;
cout<<day<<endl;
}
}