#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\n");
scanf_s("%d %d %d", &y, &m, &d);
yesterday(&y, &m, &d);
printf("the yesterday is %d-%d-%d", y, m, d);
tomorrow(&yy, &mm, &dd);
printf("the tomorrow is %d-%d-%d\n", yy, mm, dd);
}
计算输入天数的前一天
最新推荐文章于 2021-04-16 11:05:37 发布