我试下哈
还有一个问题,RT:
#include <stdio.h>
int is_leap_year(int y)
{
return y % 400 == 0 || (y % 4 == 0 && y % 100 != 0);
}
int get_days(int y, int m, int d)
{
int month[] = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365};/*这个地方*/
if (m > 2 && is_leap_year(y))
++d;
return
y * 365 + y / 4 - y / 100 + y / 400 + month[m - 1] + d;
/*
请问这是个公式吗?为什么是这样,麻烦上楼的师傅讲下,蓝色的我知道是日数*/
}
int main(void)
{
int by, bm, bd, cy, cm, cd;
puts("请输入自己的生日与今天的日期,格式为yyyy-mm-dd,两组日期以空格分隔:");
while (scanf("%d-%d-%d %d-%d-%d",
&by, &bm, &bd, &cy, &cm, &cd) == 6)
printf("相差%d天。\n", get_days(cy, cm, cd) - get_days(by, bm, bd));
return 0;
}