生活随笔
收集整理的這篇文章主要介紹了
求最晚和最早日期
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
求最晚和最早日期
作者:XXX 時間限制: 1S 章節: 循環
問題描述 :
輸入N個日期,每個以年、月、日的順序讀入,打印輸出最晚的日期、最早的日期。
輸入說明 :
你的程序需要從標準輸入設備(通常為鍵盤)中讀入多組測試數據。每組輸入數據由多行組成。每組測試數據的第一行輸入一個整數N(0<N<20),表示有N個日期。其后N行每行有三個整數Y(1≤Y≤2015),M(1≤M≤12),D(1≤D≤31)表示一個日期。
輸出說明 :
對每組測試數據,你的程序需要向標準輸出設備(通常為啟動該程序的文本終端)輸出兩行,每行包括3個整數,第一行為最晚日期,第二行為最早日期,整數之間以一個空格分隔,行首與行尾無空格,所有數據前后沒有多余的空行,兩組數據之間也沒有多余的空行。
輸入范例 :
3
2015 3 2
2011 4 15
1 1 1
輸出范例 :
2015 3 2
1 1 1
#include <stdio.h>
int main(){int y
, m
, d
;int maxy
, miny
, maxm
, minm
, maxd
, mind
;int n
;scanf("%d", &n
);scanf("%d%d%d", &y
, &m
, &d
);maxy
= miny
= y
; maxm
= minm
= m
; maxd
= mind
= d
;for (int i
= 1; i
< n
; i
++){scanf("%d%d%d", &y
, &m
, &d
);if (y
> maxy
){maxy
= y
; maxm
= m
; maxd
= d
;}else if (y
== maxy
){if (m
> maxm
){maxy
= y
; maxm
= m
; maxd
= d
;}else if (m
== maxm
){if (d
> maxd
){maxy
= y
; maxm
= m
; maxd
= d
;}}}if (y
< miny
){miny
= y
; minm
= m
; mind
= d
;}else if (y
== miny
){if (m
< minm
){miny
= y
; minm
= m
; mind
= d
;}else if (m
== minm
){if (d
< mind
){miny
= y
; minm
= m
; mind
= d
;}}}}printf("%d %d %d\n%d %d %d\n", maxy
, maxm
, maxd
, miny
, minm
, mind
);return 0;
}
總結
以上是生活随笔為你收集整理的求最晚和最早日期的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。