導航:首頁 > 編程知識 > c語言編程時間怎麼看

c語言編程時間怎麼看

發布時間:2025-05-17 12:29:49

『壹』 c語言編程:輸入年月日,求出該天是該年的第幾天

#include<stdio.h>

intmain()

{intday,month,year,sum,leap;

printf(" 請輸入年、月、日,格式為:年,月,日(2015,12,10) ");

scanf("%d%d%d",&year,&month,&day);//格式為:20190510

switch(month)//先計算某月以前月份的總天數

{case1:sum=0;break;

case2:sum=31;break;

case3:sum=59;break;

case4:sum=90;break;

case5:sum=120;break;

case6:sum=151;break;

case7:sum=181;break;

case8:sum=212;break;

case9:sum=243;break;

case10:sum=273;break;

case11:sum=304;break;

case12:sum=334;break;

default:printf("dataerror");break;}

sum=sum+day;//再加上某天的天數

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

{//判斷是不是閏年

leap=1;

}

else

{leap=0;

}

if(leap==1&&month>2)

{//*如果是閏年且月份大於2,總天數應該加一天

sum++;

}

printf("這是這一年的第%d天。",sum);

printf(" ");

}

(1)c語言編程時間怎麼看擴展閱讀

使用c語言編程結構tm格式化時間注意事項:

tm結構在C/C++中處理日期和時間相關的操作時,顯得尤為重要。tm結構以C結構的形式保存日期和時間,大多數與時間相關的函數都使用了tm結構。

使用了tm結構和各種與日期和時間相關的函數。在練習使用結構之前,需要對C結構有基本的了解,並懂得如何使用箭頭->運算符來訪問結構成員。

『貳』 C語言編程題,判斷那個日期更早。求高手出手相助了!

日期轉為秒不適用於1970年以前的時間。建議使用sprintf把時間轉換成YYYYMMDD的字元串(如果日期都在2000年之後,YYMMDD也行),然後用strcmp比較。

『叄』 給定年月日 怎樣用C語言編程計算2個日期之間的時間天數

1970 年以後的時間,可以用 time.h 里的函數計算。時間精度為秒。按題目要求,輸出時間單位用天。程序如下:
#include <stdio.h>
#include <time.h>
time_t YMD_hhmmss_2_s70(int Y, int M, int D, int hh, int mm, int ss){
struct tm *target_tm;
time_t tt;
time (&tt);
target_tm=localtime(&tt);
target_tm->tm_year = Y - 1900;
target_tm->tm_mon= M - 1;
target_tm->tm_mday = D;
target_tm->tm_hour = hh; // hour
target_tm->tm_min = mm;
target_tm->tm_sec = ss;
tt = mktime(target_tm); // from tm to time_t (s)
return tt;
}
int main()
{
int y1,m1,d1,y2,m2,d2;
time_t t1,t2;
int dt;
printf("input y1 m1 d1: ");
scanf("%d %d %d",&y1,&m1,&d1);
printf("\ninput y2 m2 d2: ");
scanf("%d %d %d",&y2,&m2,&d2);
t1 = YMD_hhmmss_2_s70(y1,m1,d1,0,0,0);
t2 = YMD_hhmmss_2_s70(y2,m2,d2,0,0,0);
dt = (t2-t1)/(24*3600);
printf("\ndt=%d\n",dt);
return 0;
}
這里未包含日期的合法性判斷。
1970 年以前 要另寫程序。某年的日子是當年的第幾天可用下面函數得出:
int YMD_2_JD(int Y, int M, int D){
const short MonthDay[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int JD,i;
JD=D;
for (i=0;i<M;i++) JD+=MonthDay[i];
if (((Y%4==0)&&(Y%100!=0)||(Y%400==0)) && (M>2)) JD++;
return JD;
}
整年的天數,涉及閏年的判斷:
某年是否閏年,用 (Y%4==0)&&(Y%100!=0)||(Y%400==0) 判斷。閏年366天,平年365天。 有了這些,寫程序不難。
未考慮公元前的年月日計算。

閱讀全文

與c語言編程時間怎麼看相關的資料

熱點內容
outlook打開excel顯示文件損壞 瀏覽:866
普通數控哪個編程適合 瀏覽:652
cad怎麼找之前保存的文件 瀏覽:582
excel怎麼數據分列 瀏覽:861
創游編輯器怎麼改人物數據 瀏覽:973
eclipseformatjsp 瀏覽:944
下載中國聯通app有哪些好處 瀏覽:411
數據中心概念股票有哪些 瀏覽:755
英超賽事app哪個好用 瀏覽:23
哪個app專門看日劇2017 瀏覽:827
win10命令傳文件 瀏覽:61
win10誤刪系統文件不開機 瀏覽:376
建什麼網站小眾 瀏覽:546
未成年如何當網站寫手 瀏覽:791
阿爾法蛋app叫什麼名字 瀏覽:96
平板無線網路信號不好 瀏覽:922
ug編程草圖常規陣烈怎麼使 瀏覽:955
微信小程序天天跟我買 瀏覽:558
如何卸載win7激活工具 瀏覽:81
摳圖換背景教程 瀏覽:653

友情鏈接