1 Star 0 Fork 1

TheKernel/SJTU

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
date_difference.cpp 845 Bytes
一键复制 编辑 原始数据 按行查看 历史
youlizhou 提交于 2021-04-25 19:32 . init
#include <cstdio>
void swap(int &a, int &b) {
int temp = a;
a = b;
b = temp;
}
bool isLeap(int year) {
return ( year & 400 == 0 || ( year % 4 == 0 && year % 100 != 0 ) );
}
int main() {
int year1, year2;
int month1, month2;
int day1, day2;
int dif = 0;
bool isL = false;
int days[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
scanf("%4d%2d%2d", &year1, &month1, &day1);
scanf("%4d%2d%2d", &year2, &month2, &day2);
if (year1 > year2) {
swap(year1, year2);
swap(month1, month2);
swap(day1, day2);
}
while ( year1 != year2 && month1 != month2 && day1 != day2 ) {
if (isLeap(year1)) days[1] = 29;
else days[1] = 28;
++day1;
++dif;
if ( day1 % (days[month1]+1) == 0 ) {
day1 = 1;
++month1;
}
if ( month1 % (13) == 0 ) {
month1 = 1;
++year1;
}
}
printf("%d\n", dif+1);
return 0;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/TheKernel/sjtu.git
git@gitee.com:TheKernel/sjtu.git
TheKernel
sjtu
SJTU
master

搜索帮助