题解 | 获得月份天数
获得月份天数
https://www.nowcoder.com/practice/13aeae34f8ed4697960f7cfc80f9f7f6
#include <stdio.h> void runnian(int n) { switch(n) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf("31\n"); break; case 2: printf("29\n"); break; case 4: case 6: case 9: case 11: printf("30\n"); break; } } void pinnian(int n) { switch(n) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf("31\n"); break; case 2: printf("28\n"); break; case 4: case 6: case 9: case 11: printf("30\n"); break; } } int main() { int a, b; while (scanf("%d %d", &a, &b) != EOF) { // 注意 while 处理多个 case // 64 位输出请用 printf("%lld") to void (*arr[])(int) = {runnian,pinnian}; if((a%4 == 0 && a%100 != 0)||(a % 400 == 0)) { arr[0](b); } else { arr[1](b); } } return 0; }