题目描述:

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

输入:

有多组数据,每组数据有两行,分别表示两个日期,形式为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. uvm_agent——007(特工)

    詹姆斯·邦德作为007的代言人,很好地诠释了agent的含义.但是在计算机系统中agent(代理)指能自主活动的软件或者硬件实体.在UVC中agent作为容器,实例化VIP的所有模块包括driver, ...

  2. Bootstrap 入门到精通

    介绍 Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷.Bootstr ...

  3. python打开.pkl的文件并显示里面的内容

    pkl文件是pyhthon里面保存文件的一种格式,如果直接打开会显示一堆序列化的东西.正确的打开方式如下: import cPickle as pickle f = open('path') info ...

  4. C-基础:表达式中存在有符号类型和无符号类型时,都自动转换为无符号类型

    void foo(void) { unsigned ; ; (a+b > ) puts("> 6") : puts("<= 6"); } 答案 ...

  5. Android 使用 adb命令 远程安装apk

    Android 使用 adb命令 远程安装apk ./adb devices 列出所有设备 ./adb connect 192.168.1.89 连接到该设备 ./adb logcat 启动logca ...

  6. shell脚本,awk实现行列转换

    [root@localhost study]# cat file 张三 语文 张三 数学 李四 语文 李四 数学 王五 语文 王五 数学 王五 英语 怎么实现为下面的排序??? 语文 数学 语文 数学 ...

  7. javascript基础知识 (八) BOM学习笔记

    一.什么是BOM      BOM(Browser Object Model)即浏览器对象模型.      BOM提供了独立于内容 而与浏览器窗口进行交互的对象:      由于BOM主要用于管理窗口 ...

  8. Java 的访问权限

    public>protected>默认(包访问权限)>private,因为protected除了可以被同一包访问,还可以被包外的子类所访问

  9. Watch Before You Feel Pressure

    Today's assembly is about the start of a journey. 今天的大会是一个旅程的开始. The start of the rest of your lives ...

  10. dbfread报错ValueError错误解决方法

    问题 我在用dbfread处理.dbf数据的时候出现了报错 ValueError("could not convert string to float: b'.'",) 然后查找. ...