问题描述
试题编号: | 201509-2 |
试题名称: | 日期计算 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 输入格式 输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。 输出格式 输出两行,每行一个整数,分别表示答案的月份和日期。 样例输入 2015 样例输出 3 样例输入 2000 样例输出 2 |
代码:从此以后就没有如此简单的第二题了啊....
#include<bits/stdc++.h>
using namespace std;
int month[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
int isRun(int year){
if(year%4==0&&year%100!=0||year%400==0) return 1;
return 0;
}
int main(){
int y,d;
cin>>y>>d;
int f=isRun(y);
int m=1,r=0;
while(d>0){
//是大于!!!
if(d>month[f][m]){
d-=month[f][m];
m++;
}else{
d--;
r++;
}
}
cout<<m<<endl<<r<<endl;
return 0;
}