#include <stdio.h> int main() { /* 定义需要计算的日期 */ int year = 2008; int month = 8; int day = 8; int allDay = 0; int i; int monthDay; for (i=1; i<month; i++) { switch(i) { case 1: monthDay = 31; break; case 2: if (year%400 == 0 || (year%4 == 0 && year%100 != 0)) { // 为闰年 monthDay = 28; } else { monthDay = 29; } break; case 3: monthDay = 31; break; case 4: monthDay = 30; break; case 5: monthDay = 31; break; case 6: monthDay = 30; break; case 7: monthDay = 31; break; case 8: monthDay = 31; break; case 9: monthDay = 30; break; case 10: monthDay = 31; break; case 11: monthDay = 30; break; case 12: monthDay = 31; break; } allDay += monthDay; } allDay += day; printf("%d年%d月%d日是该年的第%d天", year, month, day, allDay); return 0; }
我知道答案了
我能问问为什么那么多monthDay的取值,不是后面的替代前面的,而是全部都有,最后还能加起来吗?
因为闰年的二月是29天,而你用了28天