请问以下的错误代码应该怎么修改成为目标程序要求输入年份,结果显示每个月的天数(需要辨别闰年)

#include<stdio.h>
#define i 11

int main()
{
    int y;
    int d[i]={31,28,31,30,31,30,31,31,30,31,30,31};
    
    printf("请输入年份:");
    scanf("%d",&y);
    
    if(y/4==0)
    {
        d[1]=29;
    }
    else
    {
        d[1]=28;
    }
    
    for(i=0;i<=11;i++)
    {
        printf("%d月份:%d天\n",i+1,d[i]);
     } 
    
    return 0;
}

修改处见注释,供参考:

#include<stdio.h>
#define i 12   //11  修改
int main()
{
    int y, j; // 修改 
    int d[i] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
    printf("请输入年份:");
    scanf("%d", &y);
    if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0))//if (y / 4 == 0)
    {
        d[1] = 29;
    }
    //else
    //{
    //    d[1] = 28;
    //}
    for (j = 0; j < 12; j++)//for (i = 0; i <= 11; i++)
    {
        printf("%d月份:%d天\n", j + 1, d[j]);// i + 1, d[i]
    }
    return 0;
}

问题主要出在闰年的判断上,要不被100整除而被四整除的和被四百整除的才是闰年