(上海交通大学复试上机考试题)
题目描述
有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天
输入描述:
有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD
输出描述:
每组数据输出一行,即日期差值
示例1
输入
20110412
20110422
输出
11
分析:
- 可建立时间结构体方便操作
- 先计算相差的月份之间的天数,分情况计算
- 在分情况计算月份相差天数时,计算日相差的天数
- 再从年份入手,计算两个时间的年份中闰年的个数
- 闰年个数*366,其余年份*355即为年份相差个数
- 天数间隔需要加1才能相等于时间间隔 ,例如2012 3 25—2012 2 37 为三天,且题中表明连续的时间,间隔视为2天
- 输入是一连串的数字,用控制输入格式 scanf( "%4d%2d%2d",&year,&month,&day );
以下是代码:
#include <stdio.h>
#include <math.h>
typedef