#include <cstdio>
int month[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}};
int main()
{
int date1, date2;
scanf("%d%d", &date1, &date2);
//printf("%d, %d\n", date1, date2);
//小日期自增(进位)
int day1 = date1 % 100, mon1 = (date1 / 100) % 100, year1 = date1 / 10000;
int day2 = date2 % 100, mon2 = (date2 / 100) % 100, year2 = date2 / 10000;
int index = 0;//记录相差日期
if (date1 > date2)
{
//日期+1直到进位
while (date2 < date1)
{
day2++;//日期自增
//考虑日期进位
//先往月进位
if (year2 % 4 == 0)
{
if (day2 > month[mon2][1])
{
//再往年进位
if (mon2 + 1 > 12)
{
mon2 = 1;
year2++;
}
else
mon2++;
day2 = 1;
}
}
else
{
if (day2 > month[mon2][0])
{
//再往年进位
if (mon2 + 1 > 12)
{
mon2 = 1;
year2++;
}
else
mon2++;
day2 = 1;
}
}
index++;//更新计数
date2 = year2 * 10000 + mon2 * 100 + day2;//更新date2
}
}
else
{
//日期+1直到进位
while (date1 < date2)
{
day1++;//日期自增
//考虑日期进位
//先往月进位
if (year1 % 4 == 0)
{
if (day1 > month[mon1][1])
{
//再往年进位
if (mon1 + 1 > 12)
{
mon1 = 1;
year1++;
}
else
mon1++;
day1 = 1;
}
}
else
{
if (day1 > month[mon1][0])
{
//再往年进位
if (mon1 + 1 > 12)
{
mon1 = 1;
year1++;
}
else
mon1++;
day1 = 1;
}
}
index++;//更新计数
date1 = year1 * 10000 + mon1 * 100 + day1;//更新date1
}
}
printf("%d\n", index);
return 0;
}
没有合适的资源?快使用搜索试试~ 我知道了~
算法笔记-1、C语言的学习使用.zip
共96个文件
cpp:96个
需积分: 0 1 下载量 40 浏览量
2023-04-30
11:11:06
上传
评论
收藏 28KB ZIP 举报
温馨提示
用于初步学习C语言, 方便后续的算法学习, 来源于《算法笔记》, 适用于初学者,强力推荐这本书, 非常简单的把C、C++的STL、基础数据结构的实现、查找算法、排序算法、二分思想、贪心思想的起源思想
资源推荐
资源详情
资源评论
收起资源包目录
算法笔记——1、C语言的学习使用.zip (96个子文件)
66strcat().cpp 192B
33取整函数floor()和ceil().cpp 236B
23scanf输入.cpp 165B
05转义字符.cpp 133B
88struct结构体初始化.cpp 467B
12出错的宏定义函数.cpp 122B
90浮点数的比较.cpp 228B
60字符数组的scanf()和printf().cpp 112B
30注释.cpp 260B
59字符数组.cpp 235B
76函数的嵌套调用.cpp 331B
32绝对值函数fabs().cpp 144B
77函数的递归调用.cpp 193B
57三维数组.cpp 505B
69sprintf().cpp 203B
41if语句.cpp 424B
20赋值表达式.cpp 184B
78输出变量的地址.cpp 95B
81指针++和--.cpp 190B
25printf转义字符.cpp 138B
28%.mf保留多少位小数输出.cpp 203B
92挖掘机技术哪家强.cpp 466B
10const常量.cpp 124B
18三目运算符和宏函数.cpp 142B
70无参函数.cpp 213B
14除法运算符.cpp 131B
01C语言小程序.cpp 134B
80数组名.cpp 231B
94查找.cpp 349B
46dowhile语句.cpp 165B
67sscanf()和ssprintf().cpp 223B
49break语句.cpp 208B
26%md空格补齐输出.cpp 126B
08强制类型转换.cpp 192B
54二维数组.cpp 250B
85交换两个值.cpp 782B
48for语句.cpp 142B
99说反话.cpp 922B
11宏定义函数.cpp 140B
17三目运算符.cpp 121B
31typedef给数据类型起别名.cpp 151B
40if语句.cpp 203B
53冒泡排序.cpp 364B
72全局变量.cpp 137B
62字符数组gets()和puts().cpp 143B
50continue语句.cpp 205B
21赋值表达式.cpp 129B
19位运算.cpp 313B
03浮点型变量.cpp 122B
22scanf输入.cpp 111B
87交换地址改变变量.cpp 520B
24printf输出.cpp 163B
83指针的--.cpp 219B
02C变量.cpp 148B
35平方根函数sqrt().cpp 120B
74函数.cpp 301B
36对数函数log().cpp 115B
15取模运算符.cpp 114B
52数组.cpp 223B
42if语句嵌套.cpp 234B
56数组大小10^6定义在静态区.cpp 232B
43switch语句.cpp 363B
65strcpy().cpp 249B
84指针作为形参.cpp 181B
37三角函数sin()、cos()、tan().cpp 251B
73局部变量.cpp 140B
82利用指针的++遍历数组.cpp 163B
04字符变量.cpp 122B
98回文串的判断.cpp 413B
68sscanf()和sprintf().cpp 242B
96日期处理.cpp 3KB
27%0md以0补齐输出.cpp 128B
64strcmp().cpp 318B
16自增运算符.cpp 166B
38反三角函数asin()、acos()、atan().cpp 189B
47douwhile语句.cpp 220B
34求幂次方函数pow().cpp 120B
63string.h头文件strlen().cpp 154B
97进制转换.cpp 431B
09符号常量(宏定义).cpp 113B
86引用.cpp 168B
89浮点数的比较.cpp 240B
51数组.cpp 158B
58memset对数组中的元素赋相同值.cpp 469B
45while语句.cpp 175B
55二维数组相加.cpp 585B
75以数组作为参数.cpp 267B
13运算符.cpp 165B
06字符串常量.cpp 171B
95图形输出.cpp 621B
44while语句.cpp 147B
61字符数组getchar()和putchar().cpp 367B
71有参函数.cpp 252B
39四舍五入函数round().cpp 303B
91猜想3n+1.cpp 275B
07bool型变量.cpp 153B
共 96 条
- 1
资源评论
汪呈祥
- 粉丝: 2
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功