久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 12008|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

c語言 查詢?nèi)我鈨蓚(gè)日期之間相差的天數(shù)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:85764 發(fā)表于 2015-7-15 23:08 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. #include <stdio.h>
  2. #include <math.h>
  3. int Year1 ;
  4. int Month1 ;
  5. int Day1 ;
  6. int Year2 ;
  7. int Month2 ;
  8. int Day2 ;
  9. int MonthDays[] = {31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31} ;

  10. char IsLeapYear(int Year)
  11. {
  12.     if((Year % 4 == 0 && Year % 100 != 0) || Year % 400 == 0)
  13.     {
  14.         return 1 ;
  15.     }
  16.     else
  17.     {
  18.         return 0 ;
  19.     }
  20. }
  21. int GetMidMonthDays(int m1 , int m2, int y)
  22. {
  23.     int i ;
  24.     int ds ;
  25.     ds = 0 ;
  26.     for(i = m1 + 1 ; i < m2 ; i++)
  27.     {
  28.         ds += MonthDays[i-1] ;
  29.         if(i == 2)
  30.         {
  31.             if(IsLeapYear(y))
  32.             {
  33.                 ds++ ;
  34.             }
  35.         }
  36.     }
  37.     return ds ;
  38. }
  39. int GetSameYearDays(int y1 , int m1 , int d1 , int y2 , int m2 , int d2)
  40. {
  41.     int Days ;
  42.     //如果月份相同
  43.     if(m1 == m2)
  44.     {
  45.         Days =abs(d2 - d1)  ;
  46.     }
  47.     else
  48.     {
  49.         //計(jì)算第一個(gè)月份的天數(shù)
  50.         Days = abs(MonthDays[m1 - 1] - d1) ;
  51.         if(m1 == 2)
  52.         {
  53.             if(IsLeapYear(y1))
  54.             {
  55.                 Days++ ;
  56.             }
  57.         }
  58.         if((m1 + 1) != m2)
  59.         {
  60.             //計(jì)算中間月份的天數(shù)
  61.             Days += GetMidMonthDays(m1 , m2, y1);
  62.         }
  63.         Days += d2 ;
  64.     }
  65. return Days;
  66. }
  67. int GetMidYearDays(int y1,int y2)
  68. {
  69. int days=0;
  70. int i=0;
  71. for (i=y1+1;i<y2;i++)
  72. {
  73.   if (IsLeapYear(i-1))
  74.   {
  75.    days+=366;
  76.   }
  77.   else
  78.    days+=365;
  79. }
  80. return days;
  81. }
  82. int GetDifferentYearDays(int y1 , int m1 , int d1 , int y2 , int m2 , int d2)
  83. {
  84. int days;
  85. if (y1==y2)
  86. {
  87.   days=GetSameYearDays( y1 ,m1 ,d1 , y2 , m2 ,d2);
  88. }
  89. else
  90. {
  91.   days=MonthDays[m1+1]-d1;
  92.   if((y1+1) != y2)
  93.   {
  94.    days+=GetMidYearDays(y1,y2);
  95.   }
  96.   days+=GetMidMonthDays(m1-1,13,y1);
  97.   if(m2==1)
  98.   {
  99.    days+=d2;
  100.   }
  101.   else
  102.   {
  103.    days+=GetMidMonthDays(1,m2,y2);
  104.    days+=d2;
  105.   }  
  106. }
  107. return days;
  108. }
  109. void main(void)
  110. {
  111.     int Days ;
  112.     for(; ;)
  113.     {
  114.         printf("請(qǐng)輸入第一個(gè)日期(年 月 日):\n");
  115.         scanf("%d%d%d" , &Year1 , &Month1 , &Day1);
  116.         printf("請(qǐng)輸入第二個(gè)日期(年 月 日):\n");
  117.         scanf("%d%d%d" , &Year2 , &Month2 , &Day2);
  118.         //假定第一個(gè)日期小于第二個(gè)日期
  119.         Days = GetDifferentYearDays(Year1 , Month1 , Day1 , Year2 , Month2 , Day2);
  120.         printf("兩個(gè)日期相差的天數(shù)為:%d\n" , Days);
  121.     }
  122. }
復(fù)制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩一区二区三区视频 | 国产h视频 | 国产不卡一区 | 久久久青草婷婷精品综合日韩 | 中文字幕免费 | 成人三区四区 | 黑人性hd| 亚洲欧美日韩精品久久亚洲区 | 欧美国产91| 欧美日韩一区二区在线播放 | 亚洲第一黄色网 | 日韩欧美字幕 | 在线播放国产视频 | 国产精品久久久久久久久久 | 国产精品毛片在线 | av男人天堂影院 | 欧美亚洲一区二区三区 | 国产精品视频97 | 国产在线第一页 | 国产精品99久久久久久大便 | 91一区二区三区 | 久热久草 | 成人亚洲精品 | 午夜一区二区三区在线观看 | 中国人pornoxxx麻豆 | 成人免费黄视频 | 日日夜夜91| 日韩欧美国产一区二区 | 国产精品久久久久无码av | 久久丝袜 | 亚洲精品久久久久久下一站 | 久久久人 | 91新视频 | 日韩成人在线视频 | 一区二区伦理电影 | 手机在线观看 | 羞羞视频免费在线观看 | 伦理片97| 久草.com| 亚洲男人网| 国产成人精品av |