测试也没问题不知道为什么是答案错误

img


#include
#include
int main()
{
    int T,y,m,d;
    scanf("%d\n%d-%02d-%02d",&T,&y,&m,&d);
    if((m==3) && (d==1))                            //3月1日 
    {
        if((((y%4==0) && (y%100!=0)))||((y%400==0)))     //闰年2
            {
                m=m-1;d=29;
            }
        else
            {
                m=m-1;d=28;                     //非闰年 
            }
    }
    else if((((m==2)) && ((d==1)))||(((m==4)) && ((d==1)))||(((m==6)) && ((d==1)))||(((m==8)) && ((d==1)))||(((m==9)) && ((d==1)))||(((m==11)) && ((d==1))))    //4、6、8、9、11月的1号 
        {
            m=m-1;d=31;
        }
    else if((((m==5)) && ((d==1)))||(((m==7)) && ((d==1)))||(((m==10)) && ((d==1)))||(((m==12)) && ((d==1))))           //5、7、10月的1号 
        {
            m=m-1;d=30;
        }
    else if(((m==1)) && ((d==1)))   //1月1号 
        {
            y=y-1;m=12;d=31;
        }
    else
    {
        d=d-1;
    }
    printf("%04d-%02d-%02d\n",y,m,d);
    return 0;
}

img

img

认真看题鸭!你的变量T造出来是做什么的呢?有T组测试数据。

img

是不是多了个符合

img