计算两个日期间的天数
2015-07-24 21:06
369 查看
#include <stdio.h> int DiJiTian(int year, int month, int day); int isRunNian(int year); void swap(int *a, int *b); int main(){ int year1, month1, day1; int year2, month2, day2; int result = 0; scanf("%d %d %d", &year1, &month1, &day1); scanf("%d %d %d", &year2, &month2, &day2); if(year1 == year2) {result = DiJiTian(year1, month1, day1) - DiJiTian(year2, month2, day2); if(result < 0) { result = 0 - result; } }//情况1的代码 else { if(year1 > year2){ swap(&year1, &year2); swap(&month1, &month2); swap(&day1, &day2); } int a, b, c; if(isRunNian(year1)){ a = 366 - DiJiTian(year1, month1, day1); }else{ a = 365 - DiJiTian(year1, month1, day1); }//计算a的代码 b = 0; for(int i = year1 + 1; i < year2; i++) { if(isRunNian(i)){ b += 366; }else{ b += 365; } } //计算b的代码 c = DiJiTian(year2, month2, day2); //计算c的代码 result = a + b + c; //情况2的代码 } printf("%d\n", result); return 0; } int isRunNian(int year){ int result; if(year%400 == 0 ||(year%4==0 && year%100!=0)){ result = 1; } else{ result = 0; } return result; }//判断闰年的函数 int DiJiTian(int year, int month, int day){ int result = 0; for(int i = 1; i < month; i++){ //step1 if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){ result += 31; } else if (i == 4 || i ==6 || i == 9 || i==11){ result += 30; } else if(i == 2){ if(isRunNian(year)){ result += 29; } else { result += 28; } } } result += day; //step2 return result; }//求解某一日期是当年的第几天的函数 void swap(int *a, int *b){ int e; e = *a; *a = *b; *b = e; }//交换两个变量的值的函数
相关文章推荐
- MyEclipse常见错误汇总,中英注释版(长期更新)
- mongodb使用-增删改查、colleciton关联、_id作为主键实现update
- nyoj 915 + - 字符串 (递归)
- hdoj1002A + B Problem II
- 来京学习第11天
- 南阳 oj 语言入门 a letter and a number
- 背包模板
- 云计算和大数据时代网络技术揭秘(十五)大数据网络
- 如何让CI框架支持service层
- PAT (Advanced Level) 1038. Recover the Smallest Number (30) 串联最小字符串,排序
- hd1047
- 南阳 oj 语言入门 矩形的个数
- 南阳 oj 语言入门 Coin test 题目204
- unity-UIInput自定义限制输入字符
- Lowest Common Ancestor of a Binary Search Tree(树中两个结点的最低公共祖先)
- hdoj1002 A + B Problem II
- HDU 5303 Delicious Apples(贪心 + 背包 2015多校啊)
- Big Event in HDU(多重背包套用模板)
- JDK开发WebService
- Objective-C学习笔记(二十六)——成员变量的继承学习