[問題] 萬年歷的一種作法..

看板C_and_CPP作者 (不要迷戀哥,哥只是個傳說)時間14年前 (2009/10/19 22:07), 編輯推噓1(106)
留言7則, 4人參與, 最新討論串1/3 (看更多)
通常..寫萬年歷不是都用陣列嗎?? 這是我寫的上半部宣告 #include<stdio.h> #include<math.h> int main() {int year; printf( "輸入年份:" ); fflush(stdout); scanf("%d", &year); int month[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int num, first_day; first_day = (1+(year-1)+(year-1)/4-(year-1)/100+(year-1)/400)%7; if ( (year%4==0 && year%100!=0) || year%400==0 ) month[1] = 29; 想說...如果不用陣列改用if來計算... 這樣不是要用12個if來跑嗎?? 如果又碰到閏年..這樣不是就有13個if... 那如果用if宣告..該怎麼表示阿..我不懂= =.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.65.180

10/19 22:09, , 1F
你可以用switch case
10/19 22:09, 1F

10/19 22:12, , 2F
感覺用switch case跟if的步驟都一樣多阿=..=
10/19 22:12, 2F

10/19 22:12, , 3F
看這個code, else的時候記得把month[1]改回28....XD
10/19 22:12, 3F

10/19 22:12, , 4F
只是不用一樣要把每個月都單獨抓出來寫條件Q_Q"
10/19 22:12, 4F

10/19 22:13, , 5F
還是要
10/19 22:13, 5F

10/19 22:38, , 6F
並不一樣多。
10/19 22:38, 6F

10/19 22:38, , 7F
不要用「感覺」的。
10/19 22:38, 7F
文章代碼(AID): #1At7Av3F (C_and_CPP)
文章代碼(AID): #1At7Av3F (C_and_CPP)