日期差值 王道

2022-06-24 11:15:11 字數 1391 閱讀 8928

描述:有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的我們規定他們之間的天數為兩天

輸入:有多組資料,每組資料有兩行,分別表示兩個日期,形式為yyyymmdd

輸出:每組資料輸出一行,即日期差值

樣例輸入:

樣例輸出:

(這個**是根據王道機試上的答案改編的,實際上並沒能執行出來,編譯沒有問題,但while處空間?太大了)

#include #include 

#define isyear(x) x % 100 !=0 && x % 4 == 0 || x % 400 == 0 ? 1: 0

int dayofmonth[13][2]=;

int buf[5001][13][32

];int abs(int

x)void nextday(int day, int month,int

year)}}

struct

date;

struct

date date;

intmain()

intd1,m1,y1;

intd2,m2,y2;

scanf(

"%4d%2d%2d

",&y1,&m1,&d1);

scanf(

"%4d%2d%2d

",&y2,&m2,&d2);

count = abs(buf[y2][m2][d2]-buf[y1][m1][d1]);

printf(

"%d\n

",count);

return0;

}

總結:上面有幾個地方我覺得適合學習一下,首先是巨集判斷進行判斷閏年,實際上也可以用函式進行,包括dayofmonth也可以成為乙個一維陣列而不是二維陣列;

實際上之前struct裡面有函式的,但後來報錯,我就拿出來了,但本來是應該執行ok的,這種用法也很是我以前沒這麼使用過的。

struct

date}}

};

要注意乙個問題,c語言和c++裡的struct使用是不大一樣的,c語言在宣告變數時是一定要在前面寫struct的,例如

struct

student;

struct student stu1; //

struct不可省略

c++可以省略:

struct

student;

student stu1;

//struct可省略

具體c語言的結構體定義看文章:c語言結構體定義的幾種方法

日期類 日期差值

題目描述 有兩個日期,求兩個日期之間的天數,如果 兩個日期是連續的我們規定他們之間的天數為兩天。輸入 有多組資料,每組資料有兩行,分別表示兩個日期,形式為yyyymmdd。輸出 每組資料輸出一行,即日期差值。樣例輸入 20110412 20110422 樣例輸出 日期類問題是常考的基本題型之一,需要...

日期類 日期差值

題目要求 有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的我們規定他們之間的天數為兩天。分析 首先計算兩個日期距離0000年0月1日的天數,然後再求他們之間的差值。實現 如下 include include include using namespace std int mon 13 bool...

計算日期差值

身為初學者,在這裡記錄一些自己學習中所獲得的一些小知識,僅此而已。這個程式主要是加深對struct tm的理解和mktime函式的一些理解,mktime函式後面只能跟struct tm型別的變數,然後就是一些其他要注意的東西都在 注釋裡有講到。include 主要標頭檔案 include 包含str...