「アルゴリズムの注意事項」のセクション3.4 - はじめにアナログ - >日付処理
難なくD、フォーマットはYYYY-MM-DDですが、また年間を補うために、そして何のサンプルが存在しないことに注意したが、ああに注意を払うように自分自身を思い出させます!!
する#include <stdio.hの> INT月[ 13 ] [ 2 ] = { 0、0、31、31、28、29、31、31、30、30、31、31、30、30、31、31、31、31、30、30、31、31、30、30、31、31 }。 BOOL isrun(INT 年) { もし((年%4 == 0 &&年%100 =!0)||年%400 == 0 ) を返す 真。 返す 偽; } int型のmain() { INTのY、N。 一方、(scanf関数(" %dの%のD "、&Y、&N)!= EOF) { int型 I = 1 ; 一方、(N-月[I] [isrun(Y)]> 0 ) { N = N- 月[I] [isrun(Y)]。 I ++ ; もし(私の== 13 ) { I = 1 ; そして ++ ; } } printf(" %04d-%02d-%02D \ n " 、Y、I、N)。 } リターン 0 ; }