错误:
#include<stdio.h>
int a(int year)
{
return year%400=0||(year%4=0&&year%100!=0);
}
int main()
{
int T,year,month,day,i;
scanf("%d",&T);
while(T--)
{
scanf("%d-%d-%d",&year,&month,&day);
if(month==2&&day==29){
printf("-1");
continue;
}
int sum=0;
if(month>2)year++;
for(i=0;i<18;i++)
{
if(a(year+i)){
sum+=366;
}
else
sum+=365;
}
printf("%d\n",sum);
}
//while(1);
return 0;
}
第四行两个单等号换成双等号,第十四行-1后忘记加\n
改正:
#include<stdio.h>
int a(int year)
{
return year%400==0||(year%4==0&&year%100!=0);
}
int main()
{
int T,year,month,day,i;
scanf("%d",&T);
while(T--)
{
scanf("%d-%d-%d",&year,&month,&day);
if(month==2&&day==29){
printf("-1\n");
continue;
}
int sum=0;
if(month>2)year++;
for(i=0;i<18;i++)
{
if(a(year+i))
sum+=366;
else
sum+=365;
}
printf("%d\n",sum);
}
//while(1);
return 0;
}