运行结果为什么差了一天

img

检查一下啊,应该是你的大小月、二月的特殊情况算错了

问题有点多。。。
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;
}