日期计算
来源:互联网 发布:收音机在线收听软件 编辑:程序博客网 时间:2024/06/14 11:55
问题描述
给定一个年份y和一个整数d,问这一年的第d天是几月几日?
注意闰年的2月有29天。满足下面条件之一的是闰年:
1) 年份是4的整数倍,而且不是100的整数倍;
2) 年份是400的整数倍。
注意闰年的2月有29天。满足下面条件之一的是闰年:
1) 年份是4的整数倍,而且不是100的整数倍;
2) 年份是400的整数倍。
输入格式
输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。
输入的第二行包含一个整数d,d在1至365之间。
输入的第二行包含一个整数d,d在1至365之间。
输出格式
输出两行,每行一个整数,分别表示答案的月份和日期。
样例输入
2015
80
80
样例输出
3
21
21
样例输入
2000
40
40
样例输出
2
9
#include <iostream>using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop */bool runnian(int y){ if((y%400==0) || ((y%4==0)&&(y%100!=0))) return true; else return false;}void fun(int y,int x){ int flag = 0; int m=0; int n=0; if(runnian(y)) flag = 1; //标志位置一 if(x<=31) //写成if(0<x<=31)不能这样写!!! {m=1;n=x;}else if(x<=59+flag) { m=2; n=x-31;}else if(x<=90+flag){ m=3; n=x-59-flag;} else if(x<=120+flag){ m=4; n=x-90-flag;} else if(x<=151+flag){ m=5; n=x-120-flag;} else if(x<=181+flag){ m=6; n=x-151-flag;} else if(x<=212){ m=7; n=x-181-flag;} else if(x<=243+flag){ m=8; n=x-212-flag;} else if(x<=273+flag){ m=9; n=x-243-flag;} else if(x<=304+flag){ m=10; n=x-273-flag;} else if(x<=334+flag){ m=11; n=x-304-flag;} else if(x<=365+flag){ m=12; n=x-334-flag;}cout<<m<<endl;cout<<n<<endl; }int main(int argc, char** argv) {int i;int j;cin >> i >> j;fun(i,j);return 0;}
0 0
- 日期计算
- 计算日期
- 日期计算
- 日期计算
- 日期计算
- 日期计算
- 日期计算
- 计算日期
- 日期计算
- 日期计算
- 日期计算
- 计算日期
- 日期计算
- 日期计算
- 日期计算
- 日期计算
- 日期计算
- 日期计算
- 感恩节寄语
- [IOS开发教程] ios开发培训:浅析最方便的iOS开发环境
- POJ 2752 Seek the Name, Seek the Fame
- 【Esri ArcMap】ArcMap属性表中添加随机数据
- linux下bluetooth编程(五)bluetooth与socket
- 日期计算
- gcc常用命令
- [前端] node net模块测试
- 解析提高PHP执行效率的50个技巧
- 浅析if __name__=='__main__'
- 代理,动态代理
- linux下bluetooth编程(六)L2CAP层编程实例
- dB是如何定义的,dBm与W之间的关系
- DLL 类型