题解 | #获得月份天数#
获得月份天数
https://www.nowcoder.com/practice/13aeae34f8ed4697960f7cfc80f9f7f6
#include<stdio.h> void judge_leap_year(int y, int m, int* days1,int* days2) { if (((y % 4 == 0 ) && (y % 100 != 0))|| (y % 400 == 0)) printf("%d\n", days1[m]); else { printf("%d\n", days2[m]); } } //1 2 3 4 5 6 7 8 9 10 11 12 //31 28(平年) 31 30 31 30 31 31 30 31 30 31 Regular_year //31 29(闰年) 31 30 31 30 31 31 30 31 30 31 Leap_year int main() { //数组首元素用0,正好数组的下标对齐月份 int days1[13] = { 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; int days2[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; int year = 0; int month = 0; while(scanf("%d %d", &year, &month)!=EOF) judge_leap_year(year, month, days1,days2); return 0; }