(2)c语言求两个日期相隔的天数(闰年)
2018-06-18 04:00:11来源:未知 阅读 ()
1 #include <stdio.h> 2 #include <math.h> 3 4 int leap_year(int year){ 5 if(year%400==0 || (year%4==0 && year%100!=0)){ 6 return 1;//是闰年 7 }else{ 8 return 0;//不是闰年 9 } 10 } 11 12 int mon_d(int year,int mon){ 13 int i, days = 0,mon_days[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; 14 //for(i=1;i<mon;i++){ 15 if(mon >= 2){ 16 if(leap_year(year) == 1){ 17 mon_days[1] = 29; 18 for(i=0; i<mon-1; i++){ 19 days += mon_days[i]; 20 } 21 return days; 22 }else{ 23 for(i=0;i < mon-1;i++){ 24 days += mon_days[i]; 25 26 } 27 return days; 28 } 29 } 30 //} 31 return 0; 32 } 33 34 int main(){ 35 36 int y1, m1, d1, y2, m2, d2, i, y, day_to_day = 0; 37 printf("请您输入一个日期(eg:2008-8-8): "); 38 39 scanf("%d-%d-%d",&y1,&m1,&d1); 40 41 printf("请您再输入一个日期(eg:2008-8-8): "); 42 scanf("%d-%d-%d",&y2,&m2,&d2); 43 //printf("%d-%d-%d\n",y1,m1,d1); 44 //printf("%d-%d-%d\n",y2,m2,d2); 45 46 y = y2-y1; 47 48 if(y == 0){ 49 day_to_day = mon_d(y2,m2) + d2 - (mon_d(y1,m1) + d1); 50 }else if(y == 1){ 51 day_to_day = 365 + leap_year(y1) - ( mon_d(y1,m1) + d1 ) + mon_d(y2,m2) +d2; 52 }else{ 53 for(i=y1+1; i<y2; i++){ 54 day_to_day += 365 + leap_year(i); 55 } 56 day_to_day += 365 + leap_year(y1) - ( mon_d(y1,m1) + d1 ) + mon_d(y2,m2) +d2;; 57 } 58 printf("这两个日期相差的天数是: %d 天\n",day_to_day); 59 60 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:关于递归算法的几个例子(C语言)
- 关于各种不同开发语言之间数据加密方法(DES,RSA等)的互通的 2020-06-07
- C语言程序结构 2020-05-31
- 每日干货丨C++语言主流开发工具推荐! 2020-04-28
- 不借助多余参数也可交换两个参数(c++,swap函数) 2020-04-24
- C语言实现经典游戏——扫雷! 2020-04-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash