c语言编程小题,实在不明白

题目描述
给定一个日期,输出这个日期是该年的第几天。

输入
输入数据为一行,数据格式为组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。

输出
输出一行,表示该日期是该年的第几天。

样例输入
1985 1 20
样例输出
20
提示
闰年:年份为4的倍数但不是100的倍数,或者年份是400的倍数

弄不明白

img


#include<stdio.h>
int main()
{
    int year,month,day;
    int months[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    int index, i;
    scanf("%d %d %d",&year,&month,&day);
     if ((year % 400 == 0) || (year % 100 != 0 && year % 4 == 0))//判断我们的二月是28还是29天 
    {
        months[1] += 1;
    }
    index = 0;
    for (i = 1; i < month; i++)
    {
        index += months[i];//求月份的时间 
    }
    index += day;//加上天数 
    printf("%d",index);
    
 } 

有什么不懂的地方,欢迎随时来找小唐!
你也可以私信和一起我探讨c语言喔【手动狗头】

img

错误了AWA