试题编号: | 201509-2 |
试题名称: | 日期计算 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 输入格式 输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。 输出格式 输出两行,每行一个整数,分别表示答案的月份和日期。 样例输入 2015 样例输出 3 样例输入 2000 样例输出 2 |
#include<iostream>
#include<algorithm>
using namespace std;
int month[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
bool isyear(int y) {
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
return true;
return false;
}
int main() {
int y, d;
int flag = 1;
int i;
while (cin >> y >> d) {
if (isyear(y) == true)flag = 1;
else flag = 0;
i = 0;
while (d > month[i]) {
if (i != 1) d -= month[i++];
else d -= (month[i++] + flag);
}
cout << i + 1 << endl << d << endl;
}
return 0;
}
首先做一个判断该年是否为闰年,然后确定2月是多少天,然后一个循环来进行判断是多少号,