不知道错在哪,求解答

本题要求编写程序计算某年某月某日是该年中的第几天。

输入格式:
输入在一行中按照格式“y/m/d”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。

输出格式:
在一行输出日期是该年中的第几天。

img

修改如下,问题见注释,供参考:

#include <stdio.h>
int main()
{
    int a, b, c, d = 0;
    scanf("%d/%d/%d",&a,&b,&c);
    int date[12] = {31,28,31,30,31,30,31,31,30,31,30,31};//修改
    for (int i = 0; i < b - 1; i++)//修改
    {
        d += date[i];
    }
    if (b >= 3 && ((a % 4 == 0 && a % 100 != 0) || (a % 400 == 0)))//修改
    {
        printf("%d", d + c + 1);
    }
    else
        printf("%d", d + c);
    return 0;
}

我感觉是因为这里

img


你这里如果是闰年但输入的月份没到二月呢
你也会把它加1。