统计输入的年月日为当年的第几天,c语言

编程统计输入的年月日为当年的第几天(需考虑平闰年)

#include<stdio.h>
int main() {
    int y, m, x, sum = 0;
    scanf("%d%d%d", &y, &m, &x);
    switch (m) {
        case 1:
            sum = x;
            break;
        case 2:
            sum = 31 + x ;
            break;
        case 3:
            sum = 59 + x;
            break;
        case 4:
            sum = 90 + x;
            break;
        case 5:
            sum = 120 + x;
            break;
        case 6:
            sum = 151 + x;
            break;
        case 7:
            sum = 181 + x;
            break;
        case 8:
            sum = 212 + x;
            break;
        case 9:
            sum = 243 + x;
            break;
        case 10:
            sum = 273 + x;
            break;
        case 11:
            sum = 304 + x;
            break;
        case 12:
            sum = 335 + x;
            break;
    }
    if(m > 2 && (y % 400 != 0 || (y % 4 == 0 && y % 100 != 0))) {
        sum++;
    }
    printf("这天是这年的第%d天", sum);
    return 0;
}