蓝桥的第一道题,出错了,高手指点下
月份自增的那句为什么一直都执行不到,不知道程序出的问题还是我思想出问题了,高手指点下,谢谢
程序代码:#include<stdio.h>
void pan(int,int*,int,int);
main()
{
int ryear[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int pyear[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int *p1=ryear,*p2=pyear;
int (*pr)[13];
int cyear,cyue,cri,num;//ryear为闰年,pyear为平年,cyear为出生年,cyue为出生月,cri为出生日,num为多少天
printf("输入日期(yyyy-mm-dd):\n");
scanf("%d-%d-%d",&cyear,&cyue,&cri);
printf("多少天?\n");
scanf("%d",&num);
pan(&cyear,pr,p1,p2);//判断是否为平年、闰年,用数组指针指向对应的月份
for(;(num>=1);){//2 天数超过1时运行下面语句
if(cyue<13){//1 如果月份不超过12月份时
if(cri<*(pr+cyue)){cri++;num--;}//如果当月日期没有超过月底的日期时,自增
else{cri=1;cyue++;num--;}//如果超过了就月份自增,日期归1
}//1
else{cyear++;cyue=1;}//运行上面语句后,再次判断月份是否超过12月
pan(&cyear,pr,p1,p2);
}//2
printf("%d-%d-%d",cyear,cyue,cri);
}
void pan(int cyear,int *p,int *p1,int *p2)//判断是否为平年闰年
{
if(((cyear%4==0)&&(cyear%100!=0))||(cyear%400==0)){
p=p1;
}
else p=p2;
}







