题目1096:日期差值
来源:互联网 发布:专业美工 编辑:程序博客网 时间:2024/05/17 13:12
注意:日期输入技巧
#include<iostream>#include<stdio.h>using namespace std; #define ISYEAR(x) (x%100 !=0 && x%4 ==0)|| x%400==0?1:0 int dayOfMonth[13][2]={ 0,0, 31,31, 28,29, 31,31, 30,30, 31,31, 30,30, 31,31, 31,31, 30,30, 31,31, 30,30, 31,31};//每月的天数 class Date{public: int Day; int Month; int Year; //计算下一天的日期 void nextDay() { Day++; if(Day > dayOfMonth[Month][ISYEAR(Year)]) { Day = 1; Month ++; if(Month >12) { Month =1; Year ++; } } }}; int buf[5001][13][32];//空着了0月0日,方便操作 int Abs(int x){ return x <0 ?-x :x;} int main(){ //测试ISYEAR(x)函数 //if(ISYEAR(2012)) //{ // cout << "Hello world" << endl; //} Date tmp;//存储日期 int cnt =0;//记录天数 tmp.Day = 1; tmp.Month = 1; tmp.Year = 0; //初始化日期为0年1月1日 while(tmp.Year !=5001) { buf[tmp.Year][tmp.Month][tmp.Day]=cnt; tmp.nextDay(); //计算下一天日期 cnt ++; //计数器累加,与原点日期的间隔 } int d1,m1,y1; int d2,m2,y2; while(scanf("%4d%2d%2d",&y1,&m1,&d1)!=EOF) { scanf("%4d%2d%2d",&y2,&m2,&d2);//输入两个计算的日期,输入技巧 printf("%d\n",Abs(buf[y2][m2][d2] - buf[y1][m1][d1])+1); } return 0;}/************************************************************** Problem: 1096 User: itswyy Language: C++ Result: Accepted Time:20 ms Memory:9644 kb****************************************************************/
0 0
- 题目1096:日期差值
- 题目1096:日期差值
- 题目1096:日期差值
- 题目1096:日期差值
- 题目1096:日期差值
- 题目1096:日期差值
- 6-题目1096:日期差值
- 九度题目1096:日期差值
- [九度]题目1096:日期差值
- 九度题目1096:日期差值
- 九度OJ 题目1096:日期差值
- 题目1096:日期差值 Java/C++
- 九度-题目1096:日期差值
- 【九度】题目1096:日期差值
- 【九度】题目1096:日期差值
- 九度 oj 题目1096:日期差值
- 九度 OJ 题目1096:日期差值
- 题目6:日期差值
- Android中的SystemClock类
- bgs
- [转载] Android中自定义ViewGroup
- Ubuntu下配置NFS服务
- Tomcat 指向工程根目录 解决工程名 模块路径名冲突
- 题目1096:日期差值
- Mongodb Connection String
- linux中强大且常用命令:find、grep
- checkio (数独)
- 一口一口吃掉Struts(十)——异常自动处理机制 .
- GSOAP 在一个客户端内调用多个服务出现的问题解决
- MySQL存储过程详解 mysql 存储过程
- jQuery实现简易数字摇奖程序
- android中的后退键——onBackPressed()的使用