第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

計(jì)算任意兩個(gè)日期之間天數(shù)的程序

老師要求我們制作一個(gè)能夠計(jì)算任意兩個(gè)日期之間天數(shù)的程序,但是一直找不到分析思路,求大神提點(diǎn)。

正在回答

2 回答

這一個(gè)更好
#include?<stdio.h>
#include?<math.h>
int?Year1?;
int?Month1?;
int?Day1?;
int?Year2?;
int?Month2?;
int?Day2?;
int?MonthDays[]?=?{31?,?28?,?31?,?30?,?31?,?30?,?31?,?31?,?30?,?31?,?30?,?31}?;

char?IsLeapYear(int?Year)
{
????if((Year?%?4?==?0?&&?Year?%?100?!=?0)?||?Year?%?400?==?0)
????{
????????return?1?;
????}
????else
????{
????????return?0?;
????}
}
int?GetMidMonthDays(int?m1?,?int?m2,?int?y)
{
????int?i?;
????int?ds?;
????ds?=?0?;
????for(i?=?m1?+?1?;?i?<?m2?;?i++)
????{
????????ds?+=?MonthDays[i-1]?;
????????if(i?==?2)
????????{
????????????if(IsLeapYear(y))
????????????{
????????????????ds++?;
????????????}
????????}
????}
????return?ds?;
}
int?GetSameYearDays(int?y1?,?int?m1?,?int?d1?,?int?y2?,?int?m2?,?int?d2)
{
????int?Days?;
????//如果月份相同
????if(m1?==?m2)
????{
????????Days?=abs(d2?-?d1)??;
????}
????else
????{
????????//計(jì)算第一個(gè)月份的天數(shù)
????????Days?=?abs(MonthDays[m1?-?1]?-?d1)?;
????????if(m1?==?2)
????????{
????????????if(IsLeapYear(y1))
????????????{
????????????????Days++?;
????????????}
????????}
????????if((m1?+?1)?!=?m2)
????????{
????????????//計(jì)算中間月份的天數(shù)
????????????Days?+=?GetMidMonthDays(m1?,?m2,?y1);
????????}
????????Days?+=?d2?;
????}
?return?Days;
}
int?GetMidYearDays(int?y1,int?y2)
{
?int?days=0;
?int?i=0;
?for?(i=y1+1;i<y2;i++)
?{
??if?(IsLeapYear(i-1))
??{
???days+=366;
??}
??else
???days+=365;
?}
?return?days;
}
int?GetDifferentYearDays(int?y1?,?int?m1?,?int?d1?,?int?y2?,?int?m2?,?int?d2)
{
?int?days;
?if?(y1==y2)
?{
??days=GetSameYearDays(?y1?,m1?,d1?,?y2?,?m2?,d2);
?}
?else
?{
??days=MonthDays[m1+1]-d1;
??if((y1+1)?!=?y2)
??{
???days+=GetMidYearDays(y1,y2);
??}
??days+=GetMidMonthDays(m1-1,13,y1);
??if(m2==1)
??{?
???days+=d2;
??}
??else
??{
???days+=GetMidMonthDays(1,m2,y2);
???days+=d2;
??}??
?}
?return?days;
}
void?main(void)
{
????int?Days?;
????for(;?;)
????{
????????printf("請(qǐng)輸入第一個(gè)日期(年?月?日):\n");
????????scanf("%d%d%d"?,?&Year1?,?&Month1?,?&Day1);
????????printf("請(qǐng)輸入第二個(gè)日期(年?月?日):\n");
????????scanf("%d%d%d"?,?&Year2?,?&Month2?,?&Day2);
????????//假定第一個(gè)日期小于第二個(gè)日期
????????Days?=?GetDifferentYearDays(Year1?,?Month1?,?Day1?,?Year2?,?Month2?,?Day2);
????????printf("兩個(gè)日期相差的天數(shù)為:%d\n"?,?Days);
????}
}


0 回復(fù) 有任何疑惑可以回復(fù)我~
#include?<stdio.h>??
/*求所在月份的天數(shù)*/
int?daysMonth(int?year,int?month,int?day)
{
????
????int?days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
????int?i,sum=0;
????for(i=0;i<month;i++)
???????sum+=days[i];
????if(month>2)??/*如果是閏年則2月加一天*/
????????if((year%4==0)&&(year%100!=0)||(year%400==0))
????????????sum+=1;
???????sum+=day;
???????return?sum;
}
/*交換位置,避免負(fù)值*/
void?swap(int?x1,int?x2)
{
????int?tmp=x1;
????x1=x2;
????x2=tmp;
}
long?countDate(int?y1,int?m1,int?d1,int?y2,int?m2,int?d2)
{
????int?daysyear1,daysyear2;
????long?totalDays=0;
????int?total_day1;
????int?tmpYear;
????int?tmpDays;
????printf("The?first?Date?is?%ld-%ld-%ld/n",y1,m1,d1);
????printf("The?second?Date?is?%ld-%ld-%ld/n",y2,m2,d2);
????if(y1>y2)
????{
???????swap(y1,y2);
???????swap(m1,m2);
???????swap(d1,d2);
????}
????if(y1==y2)
????{
???????daysyear1=daysMonth(y1,m1,d1);
???????daysyear2=daysMonth(y2,m2,d2);
???????totalDays=abs(daysyear1-daysyear2)+1;
???????printf("totalDays?is?%ld/n",totalDays-1);
????}
????else
????{
???????daysyear1=daysMonth(y1,m1,d1);
???????total_day1=365-daysyear1+1;
???????if(m1<=2)
????????if(y1%4==0&&(y1%100!=0)||(y1%400==0))
?????????total_day1+=1;
???????totalDays+=total_day1;
???????tmpYear=y1;
???????while(++tmpYear<y2)
???????{
????????????tmpDays=365;
????????????if((tmpYear%4==0)&&(tmpYear%100!=0)||(tmpYear%400==0))
?????????????tmpDays+=1;
????????????totalDays+=tmpDays;
???????}
???????daysyear2=daysMonth(y2,m2,d2);
???????totalDays+=daysyear2;
????}
????return?totalDays-1;
????printf("totalDays?is?%ld/n",totalDays-1);
}
main()
{
????int?y1,m1,d1,y2,m2,d2;
????printf("Plsase?input?Date,for?example?2008-8-1,2008-8-8:");
????scanf("%ld-%ld-%ld,%ld-%ld-%ld",&y1,&m1,&d1,&y2,&m2,&d2);
????countDate(y1,m1,d1,y2,m2,d2);
????getch();
}


0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

計(jì)算任意兩個(gè)日期之間天數(shù)的程序

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)