用C语言 编写如下函数,求出并设置y年m月d天的前一天或后一天的日期(能正确判断闰年)
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 05:18:53
用C语言 编写如下函数,求出并设置y年m月d天的前一天或后一天的日期(能正确判断闰年)
用C语言 编写如下函数,求出并设置y年m月d天的前一天或后一天的日期(能正确判断闰年)
用C语言 编写如下函数,求出并设置y年m月d天的前一天或后一天的日期(能正确判断闰年)
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void yesterday(int *y,int *m,int *d){
int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(--*d==0){
if(--*m==2)
*d=28+(*y%400==0 || *y%4==0 && *y%100!=0);
else if(*m==0){
(*y)--;
*m=12;
*d=31;
}
else *d=month[*m];
}
}
void tomorrow(int *y,int *m,int *d){
int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
month[2]+=(*y%400==0 || *y%4==0 && *y%100!=0);
if(++*d>month[*m]){
*d=1;
if(++*m>12){
*m=1;
(*y)++;
}
}
}
void main(void){
int y,m,d,yy,mm,dd;
printf("Input y,m,d(such as xxxx xx xx)...\n");
scanf("%d%d%d",&y,&m,&d);
yy=y,mm=m,dd=d;
yesterday(&y,&m,&d);
printf("The yesterday is %d-%d-%d.\n",y,m,d);
tomorrow(&yy,&mm,&dd);
printf("The tomorrow is %d-%d-%d.\n",yy,mm,dd);
}