这个怎么能用循环解 if挨个条件写太多了 有什么好思路吗 提一下意见呗

#include <stdio.h>
int main()
{
int months[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int y, m, d, days = 0;
scanf("%d%d%d", &y, &m, &d);
for (int i = 1; i < m; i++)
days += months[i];
days += d;
if (m > 2 && ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0))
days++;
printf("%d\n", days);
return 0;
}