该对称日按照0000/00/00格式
找出并输出自公元元年到公元9999年对称日,并输出个数
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int judge_print(int y,int m,int t)
{
char a[5]={'0','0','0','0','\0'},b[5]={'0','0','0','0','\0'},c[3]={'0','0','\0'},d[3]={'0','0','\0'};
int q,w=m,e=t;
int i;
for(q=y,i=3;q!=0;i--)
{
a[i]+=q%10;
q=q/10;
}
c[1]+=w%10;c[0]+=w/10%10;
d[1]+=e%10;d[0]+=e/10%10;
b[0]=d[1];b[1]=d[0];b[2]=c[1];b[3]=c[0];
if(strcmp(a,b)==0)
{
printf("%s年%s月%s日 %s%s%s\n",a,c,d,a,c,d);
return 1;
}
else return 0;
}
int main()
{
int i=0,j,k,n,y,m,d;
for(y=1;y<10000;y++)
{
for(m=1;m<13;m++)
{
k=(y%400==0||(y%4==0&&y%100!=0));
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)j=31;
else if(m==4||m==6||m==9||m==11)j=30;
else if(m==2)
{
if(k==1)j=29;
else j=28;
}
for(d=1;d<=j;d++)
{
n=judge_print(y,m,d);
if(n==1)
i++;
}
}
}
printf("共%d个对称日",i);
return 0;
}
共366个对称日