本文主要是介绍CCF201509-2 日期计算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述
试题编号: | 201509-2 |
试题名称: | 日期计算 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 输入格式 输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。 输出格式 输出两行,每行一个整数,分别表示答案的月份和日期。 样例输入 2015 样例输出 3 样例输入 2000 样例输出 2 |
代码
#include<iostream>
using namespace std;
int Is_run(int x) //判断闰年
{if((x % 100 != 0 && x % 4 == 0 )|| x % 400 == 0)return 1;elsereturn 0;
}
int day[12][2]={{31,31},{28,29},{31,31},{30,30},{31,31},{30,30},{31,31},{31,31},{30,30},{31,31},{30,30},{31,31}}; //第一列时平年每个月的天数,第二列时闰年每个月的天数
int main()
{int y,d;cin>>y>>d;int a=Is_run(y);if(a==1) //若是闰年{int i=0,temp=0;while((temp+day[i][1])<d) //判断位于哪一个月{temp+=day[i][1];i++;}d-=temp; //计算是哪一天cout<<i+1<<endl;cout<<d;}else //与闰年判断方式一样{int i=0,temp=0;while((temp+day[i][0])<d){temp+=day[i][0];i++;}d-=temp;cout<<i+1<<endl;cout<<d; }return 0;
}
测试结果
这篇关于CCF201509-2 日期计算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!