检查一下啊,应该是你的大小月、二月的特殊情况算错了
问题有点多。。。void data(int x,int y,int *p1,int *p2){int j=y;int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};if(x%4==0&&x%100!=0||x%400==0) a[2]++;for(int i=1;i<13;i++){if(y>a[i]) y-=a[i];}*p1=i; *p2=j;}