题目描述:

有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天

输入:

有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD

输出:

每组数据输出一行,即日期差值

样例输入:
20110412
20110422
样例输出:
11
 #include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm> #define MAX 10
using namespace std; char date1c[MAX];
char date2c[MAX];
char tempc[MAX]; int date1[MAX];
int date2[MAX]; int year1,month1,day1;
int year2,month2,day2; int month[][] = {{,,,,,,,,,,,,},{,,,,,,,,,,,,}};
int dayCount[] = {,}; int isR(int year) {
if(((year % == ) && (year % != ))||(year % == )) {
return ;
}
return ;
}
int main(int argc, char const *argv[])
{
while(scanf("%s %s",date1c,date2c) != EOF) {
if(strcmp(date1c,date2c) > ) {
sscanf(date1c,"%s",tempc);
sscanf(date2c,"%s",date1c);
sscanf(tempc,"%s",date2c);
}
for(int i = ; i < ; i++) {
date1[i] = date1c[i] - '';
date2[i] = date2c[i] - '';
}
year1 = date1[]*+date1[]*+date1[]*+date1[];
month1 = date1[]* + date1[];
day1 = date1[]*+date1[];
//printf("%d %d %d\n",year1,month1,day1); year2 = date2[]*+date2[]*+date2[]*+date2[];
month2 = date2[]* + date2[];
day2 = date2[]*+date2[]; //printf("%d %d %d\n",year2,month2,day2); int yd1 = ,yd2 = ; for(int i = ; i < month1; i++) {
yd1 = yd1 + month[isR(year1)][i];
}
yd1 = yd1 + day1;
//printf("%d\n",yd1);
for(int i = year1; i < year2; i++) {
yd2 = yd2 + dayCount[isR(i)];
} for(int i = ; i < month2; i++) {
yd2 = yd2 + month[isR(year2)][i];
}
//printf("%d\n",yd2);
yd2 = yd2 + day2;
int ans = yd2 - yd1 + ;
printf("%d\n",ans);
}
return ;
}

用到第一年的第一天的时间差表示二者的时间差,自我感觉月份天数的表示法有些巧妙

九度oj 题目1096:日期差值的更多相关文章

  1. 九度OJ 题目1384:二维数组中的查找

    /********************************* * 日期:2013-10-11 * 作者:SJF0115 * 题号: 九度OJ 题目1384:二维数组中的查找 * 来源:http ...

  2. 九度oj题目&amp;吉大考研11年机试题全解

    九度oj题目(吉大考研11年机试题全解) 吉大考研机试2011年题目: 题目一(jobdu1105:字符串的反码).    http://ac.jobdu.com/problem.php?pid=11 ...

  3. hdu 1284 关于钱币兑换的一系列问题 九度oj 题目1408:吃豆机器人

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  4. 九度oj 题目1007:奥运排序问题

    九度oj 题目1007:奥运排序问题   恢复 题目描述: 按要求,给国家进行排名. 输入:                        有多组数据. 第一行给出国家数N,要求排名的国家数M,国家号 ...

  5. 九度oj 题目1087:约数的个数

    题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ...

  6. 九度OJ题目1105:字符串的反码

    tips:scanf,cin输入字符串遇到空格就停止,所以想输入一行字符并保留最后的"\0"还是用gets()函数比较好,九度OJ真操蛋,true?没有这个关键字,还是用1吧,还是 ...

  7. 九度oj题目1009:二叉搜索树

    题目描述: 判断两序列是否为同一二叉搜索树序列 输入:                        开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束. 接 ...

  8. 九度oj题目1002:Grading

    //不是说C语言就是C++的子集么,为毛printf在九度OJ上不能通过编译,abs还不支持参数为整型的abs()重载 //C++比较正确的做法是#include<cmath.h>,cou ...

  9. 九度OJ题目1003:A+B

    while(cin>>str1>>str2)就行了,多简单,不得不吐槽,九度的OJ真奇葩 题目描述: 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号", ...

随机推荐

  1. 4G牌照影响

    与3G牌照发放整整讨论了10年不同,4G牌照发放在2009年3G规模建设4年后就进行了发放,也颇匹配于行业的加速度.那么,4G到底会在哪些方面.在何种程度上改变中国呢?其实,4G的影响可能没有那么大, ...

  2. Android 图片在SD卡及包下的存储

    public class FileBitmap { /** * 获取sd卡中的bitmap,bitmap可见 * * @param bitmap * 读取bitmap的路径 * @return bit ...

  3. (转)ASIC设计中各个阶段需要注意的问题——节选

    ASIC 的复杂性不断提高,同时工艺在不断地改进,如何在较短的时间内开发一个稳定的可重用的ASIC芯片的设计,并且一次性流片成功,这需要一个成熟的ASIC 的设计方法和开发流程.本文结合NCveril ...

  4. 宠溺旧习,win10清单-配置与软件

    从win98到win7塑就的旧“习 不是一两天能随了win10的任性 输入法反win X的头疼与苦恼 开机总要输密码的麻烦与滋扰 还有着一些莫名其妙的问题, 在过往与如今的交织间错乱. -序 好吧,其 ...

  5. ABAP,Java, nodejs和go语言的web server编程

    ABAP and Java see my blog. nodejs 用nodejs现成的express module,几行代码就能写个server出来: var express = require(' ...

  6. UVA1665 Islands (并查集)

    补题,逆序考虑每个询问的时间,这样每次就变成出现新岛屿,然后用并查集合并统计.fa = -1表示没出现. 以前写过,但是几乎忘了,而且以前写得好丑的,虽然常数比较小,现在重新写练练手.每个单词后面都要 ...

  7. 爬虫4_python2

    import urllib2 response = urllib2.urlopen("https://www.baidu.com") print response.read() 构 ...

  8. bootstrap 翻页(对齐的链接)

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  9. Bootstrap 默认/标准按钮

    Bootstrap 默认/标准按钮 <!DOCTYPE html><html><head><meta http-equiv="Content-Typ ...

  10. 许大神- xulinbo xulingbo 分享

    1. 写文章投稿-- 总结的动力 可用性 单次点击 整年年度 流量激增 上下线 双网卡,交换机(网络层面) 稳定性 2. 收藏夹- canssendra 和 oceanBase 练手落地 3. 压测: ...