大神帮看一下我的这段代码如何更改才可改到正确答案

问题描述
有一本记录了从1年到9999年的日历,
假设1年1月1日为第一天,现在问第Y年的第M月的第D天是第几天。

输入
有一本记录了从1年到9999年的日历,
假设1年1月1日为第一天,现在问第Y年的第M月的第D天是 第几天。
输出
对于每组数据,输出这是第几天。
样例输入
2
1 1 1
2 2 2
样例输出
1
398
提示

来源
HJX

#include<stdio.h>
int main()
{
    int i,n,a,b,c,sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d %d %d",&a,&b,&c);
        if(a!=1)
      {
            for(i=1;i<a;i++)
            {
     if(i%4==0&&i%100!=0||i%400==0)  sum+=366;
       else sum+=365;
       }
      }
        if(b!=1){
        for(i=1;i<b;i++)
        {
            if(i==1||i==3||i==5||i==7||
               i==8||i==10||i==12) sum+=31;
           else if(i==2)
           {
               if(a%4==0&&a%100!=0||a%400==0)sum+=29;
           else sum+=28;
           }
           else  sum+=30;
        }
        }
        sum+=c;
         printf("%d",sum);
   sum=0;
    }
    return 0;
}

k这个变量没有看到有什么用
if(i==2) sum+=28; 这里是否要判断闰年?

你题目的地址给我,可以帮你测试下

兄弟 闰年你考虑了么? 直接就(a-1)*365 ?