當前位置:首頁 » 編程語言 » c語言輸入日期算天數c

c語言輸入日期算天數c

發布時間: 2022-08-17 18:32:30

A. 求助,c語言,輸入日期及天數計算新日期,求代碼

#include<stdio.h>

int main()

{ struct date

{ int year,month,day;

} dt;

int i,days,mon[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};

scanf("%d%*c%d%*c%d,%d",&dt.year,&dt.month,&dt.day,&days);

dt.day+=days;

while(dt.day>mon[dt.month])

{ if(dt.month==2)

mon[2]=28+(dt.year%4==0&&dt.year%100||dt.year%400==0);

dt.day-=mon[dt.month];

if(++dt.month>12)

{ dt.month=1;

dt.year++;

}

}

printf("result:%d-%d-%d ",dt.year,dt.month,dt.day);

return 0;

}

B. 用c語言編程計算輸入出生日期可計算出到現在存活時間天數

使用time.h,首先使用mktime函數將出生日期換算成time_t,也就是秒數。然後再使用time函數獲取當時時間的秒數,兩者相減,就是相差的秒數,再除以一天的秒數換算成天數就可以了。


全部源碼如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>

main()
{
intyear,mon,mday;
time_tt1,t2;
intdays;
structtmtm;

printf("Pleaseinputyear,mon,day:");
scanf("%d,%d,%d",&year,&mon,&mday);
memset(&tm,0,sizeof(tm));
tm.tm_year=year-1900;
tm.tm_mon=mon-1;
tm.tm_mday=mday;
t1=mktime(&tm);
t2=time(NULL);

days=(t2-t1)/(24*3600);
printf("%d ",days);
}

C. 急求!C語言計算天數

#include<stdio.h>
int main()
{
int yyyy,mm,dd,a,b;
scanf("%d/%d/%d",&yyyy,&mm,&dd);
a=31*(mm>1)+28*(mm>2)+31*(mm>3)+30*(mm>4)+31*(mm>5)+30*(mm>6)+31*(mm>7)+31*(mm>8)+30*(mm>9)+31*(mm>10)+30*(mm>11)+dd;
b=((yyyy%4==0)*(yyyy%100!=0)+(yyyy%400==0))*(mm>2);
printf("%d\n",a+b);
return 0;
}

D. 用c語言編寫計算兩個日期之間的天數

#include <time.h>
#include <stdio.h>
void main()
{
tm t1={0},t2={0};
t1.tm_year = 1999-1900;
t1.tm_mon = 2-1;
t1.tm_mday = 3;
t2.tm_year = 2015-1900;
t2.tm_mon = 5-1;
t2.tm_mday = 4;
time_t a1 = mktime(&t1);
time_t a2 = mktime(&t2);
printf("相差%d天", (a2-a1)/86400);
}
ps:看不懂了再追問

E. C語言中輸入一個日期計算他是今年的第幾天

輸入年月日三個值,先累加該年之前各個月的每月天數,最後累加日期天數即可獲取結果。

一、演算法設計:

1、輸入年月日三個值;

2、為保證程序健壯性,可以對三個值的合法性進行判斷,只對合法數據進行操作;

3、累加之前各月天數;

4、累加當前日值;

5、輸出結果。

二、注意點:

可以使用數組存儲各個月份的天數,用循環累加。需要注意的是閏年的判斷。對於閏年,2月要多加一天。

三、參考代碼:

#include<stdio.h>
intmain()
{
intmdays[12]={31,28,31,30,31,30,31,31,30,31,30,31};//十二個月的天數。
inty,m,d,r=0,i;
scanf("%d%d%d",&y,&m,&d);
if(y%400==0||(y%4==0&&y%100!=0))//閏年。
mdays[1]=29;//設置閏年二月值。
if(y<0||m<=0||m>12||d<=0||d>mdays[m-1])//輸入非法。
{
printf("輸入年月日不合法 ");//提示並退出。
return-1;
}
for(i=0;i<m-1;i++)//累加之前各個月。
r+=mdays[i];
r+=d;//累加日期值。
printf("%d ",r);//輸出結果。
return0;
}

F. 用c語言從鍵盤任意輸入一個日期(年月日),輸出第二天的日期(年月日)。

#include<stdio.h>

intmonthsize(intyear,intmonth){

intdays;

if(month==2){

if(year%4==0&&year%100!=0||year%400==0)

return29;

return28;

}

switch(month){

case1:

case3:

case5:

case7:

case8:

case10:

case12:days=31;break;

case4:

case6:

case9:

case11:days=30;break;

}

returndays;

}

intmain(){

intyear,month,day,days;

printf("年月日:");

while(scanf("%d%d%d",&year,&month,&day)==3){

days=monthsize(year,month);

if(days==day){

if(month==12){

++year;

month=1;

day=1;

}

else++month;

}

else++day;

printf("第二天是:%d/%02d/%02d ",year,month,day);

printf("年月日(qtoquit):");

}

return0;

}

(6)c語言輸入日期算天數c擴展閱讀

輸入兩個任意日期計算相隔天數

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<math.h>

#include<time.h>

intget_days(constchar*from,constchar*to);

time_tconvert(intyear,intmonth,intday);

intmain()

{

constchar*from=「2013-3-15」;

constchar*to=「2015-8-14」;

intdays=get_days(from,to);

printf(「From:%s To:%s 」,from,to);

printf(「%d 」,天);

個系統(「暫停」);

返回0;

}

20time_tconvert(intyear,intmonth,intday)

{

tminfo={0};

info.tm_year=year-1900;

info.tm_mday=天;

返回mktime(&info);

}

intget_days(constchar*from,constchar*to)

{

int年,月,日;

sscanf(from,「%d-%d-%d」,&year,&month,&day);

intfromSecond=(int)convert(年,月,日);

sscanf(to,「%d-%d-%d」,&year,&month,&day);

inttoSecond=(int)convert(年,月,日);

return(toSecond-fromSecond)/24/3600;

}

G. 用c語言編程計算兩個日期之間的天數

直接算兩個日期距離公元元年1月1日的天數:

若干個完整的年,若干個完整的月,若干天,加起來之後兩個天數相減就行了.

日期的合法性,閏年之類的就不羅嗦了.

H. c語言編程日期計算

//_MONTH代表一年裡各月份的天數
int_MONTH[]={{31},{28},{31},{30},{31},{30},{31},{31},{30},{31},{30},{31}};
//days第一參數代表月份,第二個參數代表天數
//比如11月3日,可以這樣調用days(11,3);
intdays(int*m,int*day)
{
inti,md=0;
unsignedintd;

for(i=0;i<(*m-1)&&(i<11);i++)
md=md+_MONTH[i];

d=md+(*day);//總天數累加
return(int)((d+365)-365);//總天數加365天再減365天相當於取余數的原理(你把365當成整體來對待你就會明白的),你可設想下,比如你輸入的日期是12月31日那麼總天數就肯定是365,而你若不加365天,直接減去365天,這樣一來就不符合邏輯。這是一個邏輯性問題。你可以自己好好琢磨下。
}

熱點內容
嫁個編程男 發布:2025-01-20 02:51:39 瀏覽:932
掛勞文件夾 發布:2025-01-20 02:44:22 瀏覽:520
寫編程英文 發布:2025-01-20 02:37:50 瀏覽:15
安卓怎麼修改飢荒 發布:2025-01-20 02:20:54 瀏覽:618
android64位開發環境 發布:2025-01-20 01:58:01 瀏覽:261
阿里雲伺服器能搭美國站點 發布:2025-01-20 01:49:34 瀏覽:276
安卓手機壁紙如何更換成動態壁紙 發布:2025-01-20 01:40:27 瀏覽:705
安卓微信簽名在哪裡修改 發布:2025-01-20 01:25:31 瀏覽:109
安卓電腦管家怎麼恢復出廠設置 發布:2025-01-20 01:24:06 瀏覽:313
qt編譯sqlite庫 發布:2025-01-20 01:22:30 瀏覽:525