
#include <stdio.h>
int leap(int year )
{
if ((year %4 == 0) && (year % 100 != 0) || (year % 400 == 0))
{
return 1;
}
else
{
return 0;
}
int main()
{
int past,date,month,year,days,ever,remain,i,t,c;
do
{
printf ("\n\nplease input the year(0000~9999):\n\n");
scanf ("%d",&year);
if (year<0||year>9999)
printf ("WANNING:ERROR,please input again!");
}
while (year<0||year>9999);
printf ("\n\n");
do
{
printf ("please input the month(0~12)\n\n\n");
scanf ("%d",&month);
if (month<=0||month>12)
printf ("WANNING:ERROR,please input again!");
}
while (month<=0||month>12);
printf ("\n\n");
do
{
printf ("please input the date(0~31)\n\n\n");
scanf ("%d",&date);
if (date<=0||date>31)
printf ("WANNING:ERROR,please input again!");
}
while (date<=0||date>31);
printf ("\n\n");
do
{
printf ("\n\nplease input the past\n\n\n");
scanf("%d",&past);
if(past<0)
{
printf("number error,please enter again\n");
}
}
while (past<0);
{
printf ("\n\n");
}
for(i=year,days=0;days<=past;i++)
{
if(leap(i))
{
days=366+days;
t=366;
}
else
{
days+=365;
t=365;
}
}
if(t==365)
{
if(ever<=31)
{
c=12;remain=31-ever;
}
if(ever>31&&ever<=61)
{
c=11;ever-=31;remain=30-ever;
}
if(ever>61&&ever<=92)
{
c=10;ever-=61;remain=31-ever;
}
if(ever>92&&ever<=122)
{
c=9;ever-=92;remain=30-ever;
}
if(ever>122&&ever<=153)
{
c=8;ever-=122;remain=31-ever;
}
if(ever>153&&ever<=184)
{
c=7;ever-=153;remain=31-ever;
}
if(ever>184&&ever<=214)
{
c=6;ever-=184;remain=30-ever;
}
if(ever>214&&ever<=245)
{
c=5;ever-=214;remain=31-ever;
}
if(ever>245&&ever<=275)
{
c=4;ever-=245;remain=30-ever;
}
if(ever>275&&ever<=306)
{
c=3;ever-=275;remain=31-ever;
}
if(ever>306&&ever<=334)
{
c=2;ever-=306;remain=28-ever;
}
if(ever>334&&ever<=365)
{
c=1;ever-=334;remain=31-ever;
}
}
if(t==366)
{
if(ever<=31){remain=31-ever;c=12;}
if(ever>31&&ever<=61){ever-=31;remain=30-ever;c=11;}
if(ever>61&&ever<=92){ever-=61;remain=31-ever;c=10;}
if(ever>92&&ever<=122){ever-=92;remain=30-ever;c=9;}
if(ever>122&&ever<=153){ever-=122;remain=31-ever;c=8;}
if(ever>153&&ever<=184){ever-=153;remain=31-ever;c=7;}
if(ever>184&&ever<=214){ever-=184;remain=30-ever;c=6;}
if(ever>214&&ever<=245){ever-=214;remain=31-ever;c=5;}
if(ever>245&&ever<=275){ever-=245;remain=30-ever;c=4;}
if(ever>275&&ever<=306){ever-=275;remain=31-ever;c=3;}
if(ever>306&&ever<=335){ever-=306;remain=29-ever;c=2;}
if(ever>335&&ever<=366){ever-=335;remain=31-ever;c=1;}
}
printf("剩余天数%d\n",remain);
printf("剩de天数%d\n",ever);
printf("月份%d\n",c);
printf("%d天后是%d年%d月%d日\n",past,i,c,remain);
return 0;
}
int leap(int year )
{
if ((year %4 == 0) && (year % 100 != 0) || (year % 400 == 0))
{
return 1;
}
else
{
return 0;
}
int main()
{
int past,date,month,year,days,ever,remain,i,t,c;
do
{
printf ("\n\nplease input the year(0000~9999):\n\n");
scanf ("%d",&year);
if (year<0||year>9999)
printf ("WANNING:ERROR,please input again!");
}
while (year<0||year>9999);
printf ("\n\n");
do
{
printf ("please input the month(0~12)\n\n\n");
scanf ("%d",&month);
if (month<=0||month>12)
printf ("WANNING:ERROR,please input again!");
}
while (month<=0||month>12);
printf ("\n\n");
do
{
printf ("please input the date(0~31)\n\n\n");
scanf ("%d",&date);
if (date<=0||date>31)
printf ("WANNING:ERROR,please input again!");
}
while (date<=0||date>31);
printf ("\n\n");
do
{
printf ("\n\nplease input the past\n\n\n");
scanf("%d",&past);
if(past<0)
{
printf("number error,please enter again\n");
}
}
while (past<0);
{
printf ("\n\n");
}
for(i=year,days=0;days<=past;i++)
{
if(leap(i))
{
days=366+days;
t=366;
}
else
{
days+=365;
t=365;
}
}
if(t==365)
{
if(ever<=31)
{
c=12;remain=31-ever;
}
if(ever>31&&ever<=61)
{
c=11;ever-=31;remain=30-ever;
}
if(ever>61&&ever<=92)
{
c=10;ever-=61;remain=31-ever;
}
if(ever>92&&ever<=122)
{
c=9;ever-=92;remain=30-ever;
}
if(ever>122&&ever<=153)
{
c=8;ever-=122;remain=31-ever;
}
if(ever>153&&ever<=184)
{
c=7;ever-=153;remain=31-ever;
}
if(ever>184&&ever<=214)
{
c=6;ever-=184;remain=30-ever;
}
if(ever>214&&ever<=245)
{
c=5;ever-=214;remain=31-ever;
}
if(ever>245&&ever<=275)
{
c=4;ever-=245;remain=30-ever;
}
if(ever>275&&ever<=306)
{
c=3;ever-=275;remain=31-ever;
}
if(ever>306&&ever<=334)
{
c=2;ever-=306;remain=28-ever;
}
if(ever>334&&ever<=365)
{
c=1;ever-=334;remain=31-ever;
}
}
if(t==366)
{
if(ever<=31){remain=31-ever;c=12;}
if(ever>31&&ever<=61){ever-=31;remain=30-ever;c=11;}
if(ever>61&&ever<=92){ever-=61;remain=31-ever;c=10;}
if(ever>92&&ever<=122){ever-=92;remain=30-ever;c=9;}
if(ever>122&&ever<=153){ever-=122;remain=31-ever;c=8;}
if(ever>153&&ever<=184){ever-=153;remain=31-ever;c=7;}
if(ever>184&&ever<=214){ever-=184;remain=30-ever;c=6;}
if(ever>214&&ever<=245){ever-=214;remain=31-ever;c=5;}
if(ever>245&&ever<=275){ever-=245;remain=30-ever;c=4;}
if(ever>275&&ever<=306){ever-=275;remain=31-ever;c=3;}
if(ever>306&&ever<=335){ever-=306;remain=29-ever;c=2;}
if(ever>335&&ever<=366){ever-=335;remain=31-ever;c=1;}
}
printf("剩余天数%d\n",remain);
printf("剩de天数%d\n",ever);
printf("月份%d\n",c);
printf("%d天后是%d年%d月%d日\n",past,i,c,remain);
return 0;
}


