此代码只能通过2/3的样例,求大佬帮忙找找漏掉的情况,多谢了,第二次发了。
题是求两个日期之间的回文日期,输入日期起始和截止,输出回文日期数。
#include<stdio.h>
int main()
{
int a,b,i,j,k,n1,n2,sum=0;
scanf("%d %d",&a,&b);
n1=a/10000;
n2=b/10000;
int x[4]={0};
for(i=n1;i<=n2;i++){
int day[99]={31,28,31,30,31,30,31,31,30,31,30,31};
if((i%4==0&&i%100!=0)||i%400==0)
day[1]=29;
x[0]=i/1000;
x[1]=i/100-x[0]10;
x[3]=i%10;
x[2]=(i%100-x[3])/10;
//判断可能的回文是否在日期之内且日期正常
if(i*10000+x[3]*1000+x[2]*100+x[1]*10+x[0]>=a&&i10000+x[3]*1000+x[2]*100+x[1]*10+x[0]<=b&&day[x[3]*10+x[2]-1]>=x[1]*10+x[0])
sum++;
}
printf("%d",sum);
return 0;
}