月a[0]∈[1,12],a[1]也就是日期根據a[0]決定,a[0]是1,3,5,7,8,12情況下,a[1]不能是31.
a[0]是2的情況下,a[1]不能超過29.如果輸入29要減去1(為了後面的日期差計算星座做基礎)
2)第壹個函數int sum_day (int* a),把剛才輸入作為形參傳入,按照壹定公式計算N月M日是這年的第K天,然後返回這個日期。
3)因為每個星座之隔都是30天(2月按照28來看)。把這個天數,假設是返回的k,那麽分類討論,
第壹種,k<19,那麽直接知道是摩羯
第二種 switch ((k-19)/30) {
case 0:水瓶
case 1:雙魚
........
4)匹配的規則,我們已經知道雙方的星座了,至於是否合得來用壹個二維數組來存放情況
int c[12][12];橫坐標的0~11分別表示水瓶~摩羯,縱坐標也是壹個道理。比如
a[0][0]就是水瓶配水瓶,c[11][11]就是摩羯配摩羯。如果c[0][0]是存放1,則表示水瓶配水瓶是合適的,如果是0則表示不合適,1還是0由編程人員設置。
3)輸出,(k-19)/30就是下標,例如c [(k1-19)/30][,(k2-19)/30],那麽這將表示這個坐標的數據,1
表示合適,0表示不合適,k是表示這壹年的第k天。