69,387
社区成员
发帖
与我相关
我的任务
分享
#include"stdio.h"
int leamp(int y)
{int p=0;
if(y%4==0)
{
if(y%100==0)
{ if(y%400==0)
p=1;
else
p=0;
}
else
p=1;
}
else
p=0;
return p;
}
int check(int y,int m,int d)
{int leap=0;
if(m>=1&&m<=12&&m!=2)
{ if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
if(d>=1&&d<=31)
leap=1;
if(m==4||m==6||m==9||m==11)
if(d>=1&&d<=30)
leap=1;
}
if(m==2)
{if(leamp(y))
{if(d>=1&&d<=29) leap=1;}
else
{if(d>=1&&d<=28) leap=1;}
}
return leap;
}
void main()
{int y;
int m;
int d;
int tag;
printf("please input the date:\n");
scanf("%d%d%d",&y,&m,&d);
tag=leamp(y);
if(check(y,m,d)){
printf("your now date is:%d-%d-%d\n",y,m,d);
if(m==1||m==3||m==5||m==7||m==8||m==10)
{if(d==31)
{d=1; m=m+1;}
else if(d==30)
{d=2; m=m+1;}
else
d=d+2;
}
if(m==4||m==6||m==9||m==11)
{if(d==30)
{d=2; m=m+1;}
else if(d==29)
{d=1; m=m+1;}
else
d=d+2;
}
if(m==2)
{if(tag)
{if(d==29)
{d=2; m=m+1;}
if(d==28)
{d=1; m=m+1;}
else
d=d+2;
}
else
{if(d==28)
{d=2;m=m+1;}
if(d==27)
{d=1; m=m+1;}
else
d=d+2;
}
}
if(m==12)
{if(d==31)
{d=2;
y=y+1;
m=1;
}
if(d==30)
{d=1;
y=y+1;
m=1;
}
else
d=d+2;
}
printf("Two days later, it's:%d-%d-%d\n",y,m,d);
}
else
printf("data error");
getch();
}
#include"stdio.h"
int leamp(int y)
{int p=0;
if(y%4==0)
{
if(y%100==0)
{ if(y%400==0)
p=1;
else
p=0;
}
else
p=1;
}
else
p=0;
return p;
}
int check(int y,int m,int d)
{int leap=0;
if(m>=1&&m<=12&&m!=2)
{ if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
if(d>=1&&d<=31)
leap=1;
if(m==4||m==6||m==9||m==11)
if(d>=1&&d<=30)
leap=1;
}
if(m==2)
{if(leamp(y))
{if(d>=1&&d<=29) leap=1;}
else
{if(d>=1&&d<=28) leap=1;}
}
return leap;
}
void main()
{int y;
int m;
int d;
int tag;
printf("please input the date:\n");
scanf("%d%d%d",&y,&m,&d);
tag=leamp(y);
if(check(y,m,d)){
printf("your now date is:%d-%d-%d\n",y,m,d);
if(m==1||m==3||m==5||m==7||m==8||m==10)
{if(d==31)
{d=1; m=m+1;}
else if(d==30)
{d=2; m=m+1;}
else
d=d+2;
}
if(m==4||m==6||m==9||m==11)
{if(d==30)
{d=2; m=m+1;}
else if(d==29)
{d=1; m=m+1;}
else
d=d+2;
}
if(m==2)
{if(tag)
{if(d==29)
{d=2; m=m+1;}
else if(d==28)
{d=1; m=m+1;}
else
d=d+2;
}
else
{if(d==28)
{d=2;m=m+1;}
else if(d==27)
{d=1; m=m+1;}
else
d=d+2;
}
}
if(m==12)
{if(d==31)
{d=2;
y=y+1;
m=1;
}
else if(d==30)
{d=1;
y=y+1;
m=1;
}
else
d=d+2;
}
printf("Two days later, it's:%d-%d-%d\n",y,m,d);
}
else
printf("data error\n");
printf("\n----------------------------------------------------------\n");
getch();
}
#include"stdio.h"
int leamp(int y)
{
if(y%4==0)
{
if(y%100==0&&y%400!=0)
return 0;
else
return 1;
}
else
return 0;
}
int check(int y,int m,int d)
{
int leap=0;
if(m>=1&&m<=12&&m!=2)
{
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
if(d>=1&&d<=31)
leap=1;
if(m==4||m==6||m==9||m==11)
if(d>=1&&d<=30)
leap=1;
}
if(m==2)
{
if(leamp(y))
{
if(d>=1&&d<=29) leap=1;
}
else
{
if(d>=1&&d<=28) leap=1;
}
}
return leap;
}
void main()
{
int y;
int m;
int d;
int cnt=2;
printf("please input the date:\n");
scanf("%d%d%d",&y,&m,&d);
if(check(y,m,d))
{
printf("your now date is:%d-%d-%d\n",y,m,d);
//进入这里已经保证之前的日期正确,那么做两次日期的加法就可以
while(cnt--)
{
d++;
if(!check(y,m,d))
{
d=1;
m++;
if(m>12)
{
m=1;
y++;
}
}
}
printf("Two days later, it's:%d-%d-%d\n",y,m,d);
}
else
printf("data error\n");
getch();
}
time_t rawtime;
struct tm *tm_a2d;
int year, month, day;
printf ( "please input the date(YYYY MM DD):" );
scanf (" %d%d%d", &year, &month, &day );
time ( &rawtime );
tm_a2d = localtime( &rawtime ); // 原来的多了个*,抱歉~
tm_a2d->tm_year = year - 1900;
tm_a2d->tm_mon = month - 1;
tm_a2d->tm_mday = day + 2;
mktime ( tm_a2d );
printf ( "after 2 day: %04d-%02d-%02d\n",
tm_a2d->tm_year + 1900,
tm_a2d->tm_mon + 1,
tm_a2d->tm_mday );
//主要问题是由少了else 再次进入if语句判断引起的,
//我加了一些,运行了几个日期还可以。也可能不全。顺着这个
//思路,你再改。
#include"stdio.h"
int leamp(int y)
{int p=0;
if(y%4==0)
{
if(y%100==0)
{ if(y%400==0)
p=1;
else
p=0;
}
else
p=1;
}
else
p=0;
return p;
}
int check(int y,int m,int d)
{int leap=0;
if(m>=1&&m<=12&&m!=2)
{ if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
if(d>=1&&d<=31)
leap=1;
if(m==4||m==6||m==9||m==11)
if(d>=1&&d<=30)
leap=1;
}
if(m==2)
{if(leamp(y))
{if(d>=1&&d<=29) leap=1;}
else
{if(d>=1&&d<=28) leap=1;}
}
return leap;
}
void main()
{int y;
int m;
int d;
int tag;
printf("please input the date:\n");
scanf("%d%d%d",&y,&m,&d);
tag=leamp(y);
if(check(y,m,d))
{
printf("your now date is:%d-%d-%d\n",y,m,d);
if(m==1||m==3||m==5||m==7||m==8||m==10)
{
if(d==31)
{d=2; m=m+1;}//是否为2
else if(d==30)
{d=2; m=m+1;}
else
d=d+2;
}
else //加了个else 以防止进入if(m==2).如输入m=1,d=30 ,在第一个if里
//有d=2,m++;往下走 ,遇到if(m==2) 此时m==2,再次进入有d=d+2;
if(m==4||m==6||m==9||m==11)
{
if(d==30)
{d=2; m=m+1;}
else if(d==29)
{d=1; m=m+1;}
else
d=d+2;
}
else if(m==2)//else
{
if(tag)
{if(d==29)
{d=2; m=m+1;}
else//else
if(d==28)
{d=1; m=m+1;}
else
d=d+2;
}
else
{if(d==28)
{d=2;m=m+1;}
else
if(d==27)
{d=1; m=m+1;}
else
d=d+2;
}
}
else if(m==12)
{
if(d==31)
{d=2;
y=y+1;
m=1;
}
else if(d==30)//else
{d=1;
y=y+1;
m=1;
}
else
d=d+2;
}
printf("Two days later, it's:%d-%d-%d\n",y,m,d);
}
else
printf("data error");
getch();
}