亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言中怎樣判斷兩個日期之差

2020-02-24 14:37:32
字體:
來源:轉載
供稿:網友

C語言中怎樣判斷兩個日期之差?輸入兩個日期,計算之間相差多少天。 用了兩種方法實現,第二種利用結構體,代碼比較清晰,其余的都一樣,下面來一起看看吧。

1.普通的寫法

?


#include
int leapyear(int year)
{
?if((year%4==0 && year%100!=0) || year%400==0)
??return 1;
?else
??return 0;
}
int days(int *day1, int *day2)
{
?int i=0;
?int *tmp;
?int diff = 0;
?const int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
?if(day1[0] == day2[0])
?{
??if(day1[1] == day2[1])
??{
???diff = day1[2] - day2[2];
???diff = (diff ??}
??else
??{
???if(day1[1] ???{
????tmp = day1;??????//day1=1991-6-2?? day2=1991-5-8
????day1 = day2;
????day2 = tmp;
???}
???for(i=day2[1]+1; i???{
????diff +=? month[i];
???}
???diff += month[day2[1]] - day2[2] + day1[2];
???if(day2[1] 2)
????if(leapyear(day2[0]))
?????diff++;
??}
?}
?else
?{
??if(day1[0] ??{
???tmp = day1;?
???day1 = day2;
???day2 = tmp;
??}
??for(i=day2[0]+1; i??{
???if(leapyear(i))
????diff += 366;
???else
????diff += 365;
??}
??for(i=day2[1]+1; i??{
???diff += month[i];
??}
??diff += (month[day2[1]] - day2[2]);
??if(day2[1] ???if(leapyear(day2[0]))
????diff++;
??for(i=1; i??{
???diff += month[i];
??}
??diff += day1[2];
??if(day1[1] > 2)
???if(leapyear(day1[0]))
????diff++;
?}
?return diff;
}
int main()
{
?int day1[3], day2[3];
?int day = 0;
?printf("輸入日期:");
?scanf("%d-%d-%d",&day1[0], &day1[1], &day1[2]);
?printf("輸入另一個日期:");
?scanf("%d-%d-%d",&day2[0], &day2[1], &day2[2]);
?day = days(day1, day2);
?printf("兩個日期之間共有%d天。/n",day);
?return 0;
}


2.利用結構體,代碼更整潔一些

?

?


#include
typedef struct date
{
?int year;
?int month;
?int day;
}DATE;
int leapyear(int year)
{
?if((year%4==0 && year%100!=0) || year%400==0)
??return 1;
?else
??return 0;
}
int compare(DATE *d1, DATE *d2)????//如果第一個日期比第二個日期大,交換日期
{
?DATE *tmp;
?if(d1->year == d2->year)????//年數相等
?{
??if(d1->month > d2->month)???//月數相等
??{
???tmp = d1;
???d1 = d2;
???d2 = d1;
??}
??else if(d1->month == d2->month)??//日期相等
??{
???if(d1->day > d2->day)
???{
????tmp = d1;
????d1 = d2;
????d2 = d1;
???}
??}
?}
?else if(d1->year > d2->year)
?{
??tmp = d1;
??d1 = d2;
??d2 = tmp;
?}
?return 0;
}
int diff(DATE *date1, DATE *date2)
{
?int i;
?int diff = 0;
?const int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
?if(date1->year == date2->year)
?{
??if(date1->month == date2->month)
??{
???diff = date2->day - date1->day;
??}
??else
??{
???for(i=date1->month+1; imonth; i++)
???{
????diff += month[i];
???}
???diff += month[date1->month] - date1->day + date2->day;
???if(leapyear(date1->year))
????if(date1->month month >2)
?????diff++;
??}
?}
?else
?{
??for(i=date1->year+1; iyear; i++)
??{
???if(leapyear(i))
????diff += 366;
???else
????diff += 365;
??}
??for(i=date1->month+1; i??{
???diff += month[i];
??}
??diff += month[date1->month] - date1->day;
??if(date1->month ???if(leapyear(date1->year))
????diff++;
??for(i=1; imonth; i++)?????//date2距離年初多少天
??{
???diff += month[i];
??}
??diff += date2->day;
??if(date1->month > 2)
???if(leapyear(date2->year))
????diff++;
?}
?return diff;
}
int main()
{
?int days = 0;
?DATE day1, day2;
?DATE *date1, *date2;
?date1 = &day1;
?date2 = &day2;
?printf("輸入日期:");
?scanf("%d-%d-%d",&(date1->year), &(date1->month), &(date1->day));
?printf("輸入另一個日期:");
?scanf("%d-%d-%d",&date2->year, &date2->month, &date2->day);
?compare(date1, date2);
?days = diff(date1, date2);
?printf("兩個日期之間共有%d天。/n",days);
?return 0;
}

小編帶來的這篇C語言中怎樣判斷兩個日期之差,是不是特別的實用呢,更多關于C語言的內容,可以多多關注下武林技術頻道,我們會不斷的更新。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
4444欧美成人kkkk| 91chinesevideo永久地址| 九九精品视频在线观看| 91久久在线播放| 国产日韩欧美综合| 欧美亚洲伦理www| 少妇av一区二区三区| 日韩视频在线免费| 欧美日韩一区二区精品| 夜夜嗨av一区二区三区免费区| 国产精品久久久久久亚洲调教| 欧美做爰性生交视频| 亚洲视频免费一区| 日本精品视频网站| 欧美超级免费视 在线| 亚洲精品之草原avav久久| 日日狠狠久久偷偷四色综合免费| 亚洲一区美女视频在线观看免费| 成人免费在线视频网站| 97久久超碰福利国产精品…| 久久五月天色综合| 日韩成人av在线播放| 日韩一区二区久久久| 久久久91精品国产| 久久影视电视剧免费网站| 日本午夜在线亚洲.国产| 日韩av在线高清| 成人做爽爽免费视频| 色樱桃影院亚洲精品影院| 91在线无精精品一区二区| 欧美一级在线播放| 亚洲色图35p| 国产精品视频一区二区高潮| 久久精品久久久久电影| 6080yy精品一区二区三区| 欧美成人精品xxx| 亚洲精品国偷自产在线99热| 日韩高清电影免费观看完整版| 欧美午夜无遮挡| 国产性猛交xxxx免费看久久| 欧美一区二区三区……| 中国日韩欧美久久久久久久久| 国产一区玩具在线观看| 亚洲视频在线观看| 国产精品久久久久免费a∨| 毛片精品免费在线观看| 亚洲精品资源在线| 神马久久久久久| 亚洲精品有码在线| 欧美极品少妇xxxxx| 亚洲一区亚洲二区亚洲三区| 欧美日韩中国免费专区在线看| 中文字幕日韩精品在线观看| 欧美日韩成人黄色| 成人精品一区二区三区电影黑人| 亚洲大胆人体av| 国产欧美一区二区三区久久人妖| 欧美精品videosex极品1| 亚洲欧美日韩爽爽影院| 国产mv免费观看入口亚洲| 精品成人久久av| 亚洲一区二区三区四区视频| 午夜免费久久久久| 大桥未久av一区二区三区| 国产丝袜视频一区| 欧美xxxx14xxxxx性爽| 91久久精品日日躁夜夜躁国产| 欧美精品videos性欧美| 国产精品专区第二| 俺去啦;欧美日韩| 91精品久久久久久久久不口人| 精品二区三区线观看| 亚洲美女在线观看| 亚洲激情视频在线播放| 亚洲伊人久久综合| 日韩最新在线视频| 亚洲国产精品人久久电影| 亚洲色图在线观看| 2023亚洲男人天堂| 久久久久国产精品一区| 久久国产精品久久国产精品| 国产一区二区精品丝袜| 欧美三级免费观看| 国产精品久久久久久久久久免费| 尤物九九久久国产精品的分类| 欧美性xxxxhd| 国产欧美日韩精品专区| 国产主播精品在线| 久久精品视频中文字幕| 日本中文字幕成人| 国产亚洲一区二区精品| 成年无码av片在线| 国产视频精品在线| 亚洲全黄一级网站| 最近2019中文字幕一页二页| 日韩中文第一页| 欧美福利视频网站| 欧美成aaa人片免费看| 欧美极品在线视频| 欧美精品久久久久| 69国产精品成人在线播放| 亚洲aⅴ男人的天堂在线观看| 欧美成人免费全部| 欧美精品久久一区二区| 日韩中文综合网| www.亚洲人.com| 国产美女91呻吟求| 九九精品在线观看| 91人人爽人人爽人人精88v| 欧美激情综合色| 欧美丝袜一区二区| 久久综合伊人77777尤物| 久久久久久久久久久久久久久久久久av| 国产综合在线视频| 91精品国产91久久久久久吃药| 中文亚洲视频在线| 国产午夜一区二区| 久久国产精品久久精品| 浅井舞香一区二区| 亚洲天堂久久av| 成人做爽爽免费视频| 日韩av在线最新| 亚洲成人精品久久久| 亚洲精品第一国产综合精品| 麻豆国产va免费精品高清在线| 精品久久中文字幕| 国产精品一区二区av影院萌芽| 久久91超碰青草是什么| 一区二区亚洲欧洲国产日韩| 国产精品丝袜久久久久久不卡| 国产亚洲美女久久| 亚洲视频axxx| 色一区av在线| 九色精品美女在线| 日韩视频第一页| 日韩成人在线网站| 国产精品久久国产精品99gif| 日韩一区二区av| 九九九热精品免费视频观看网站| 日韩暖暖在线视频| 国产精品视频区1| 国产精品白丝av嫩草影院| 视频直播国产精品| 亚洲最大的免费| 91成人国产在线观看| 国产一区二区在线播放| 久99九色视频在线观看| 欧美高清视频在线播放| 欧美日韩中文在线| 在线观看日韩av| 亚洲va国产va天堂va久久| 国模精品视频一区二区三区| 国产精品三级久久久久久电影| 国产午夜精品一区二区三区| 亚洲性生活视频| 亚洲精品福利在线观看| 久久成年人免费电影| 亚洲欧洲av一区二区| 国产精品美女网站| 日韩在线欧美在线国产在线| 亚洲精品理论电影| 日韩不卡中文字幕| 91欧美激情另类亚洲| 91亚洲精品一区二区|