问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 注意闰年的2月有29天。满足下面条件之一的是闰年: 1) 年份是4的整数倍,而且不是100的整数倍; 2) 年份是400的整数倍。 输入格式 输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。 输入的第二行包含一个整数d,d在1至365之间。 输出格式 输出两行,每行一个整数,分别表示答案的月份和日期。 样例输入 2015 80 样例输出 3 21 样例输入 2000 40 样例输出 2 9
90分版
#include <iostream> using namespace std; int main(){ int monthDay[] = {31,28,31,30,31,30,31,31,30,31,30,31}; int year,day; // count累加到多一个月天数,day减之 // 由于i({}块级作用域)在函数内部,用month计数 int count = 0,month; cin>>year>>day; //cin>>day; if(year%4==0 || (year%400==0 && year%100 != 0)){ monthDay[1]=29; } for(int i=0; i<12,count<day; i++){ //if(count>=day) // break; count += monthDay[i]; month = i; } count -= monthDay[month]; cout<<month+1<<endl<<day-count; return 0; }