用C语言 编写如下函数,求出并设置y年m月d天的前一天或后一天的日期(能正确判断闰年)
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/10 10:47:20
![用C语言 编写如下函数,求出并设置y年m月d天的前一天或后一天的日期(能正确判断闰年)](/uploads/image/z/11424555-27-5.jpg?t=%E7%94%A8C%E8%AF%AD%E8%A8%80+%E7%BC%96%E5%86%99%E5%A6%82%E4%B8%8B%E5%87%BD%E6%95%B0%2C%E6%B1%82%E5%87%BA%E5%B9%B6%E8%AE%BE%E7%BD%AEy%E5%B9%B4m%E6%9C%88d%E5%A4%A9%E7%9A%84%E5%89%8D%E4%B8%80%E5%A4%A9%E6%88%96%E5%90%8E%E4%B8%80%E5%A4%A9%E7%9A%84%E6%97%A5%E6%9C%9F%28%E8%83%BD%E6%AD%A3%E7%A1%AE%E5%88%A4%E6%96%AD%E9%97%B0%E5%B9%B4%29)
用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);
}