#include<stdio.h>
#include<stdbool.h>
struct date
{
int month;
int day;
int year;
};
bool isLeap(struct date d);
int numberOfDays(struct date d);
int main(int argc, char const *argv[]) {
struct date today, tomorrow;
printf("Enter today's date (mm dd yyyy):");
scanf("%i %i %i", &today.month, &today.day, &today.year);
if (today.day != numberOfDays(today)) {
tomorrow.day = today.day+1;
tomorrow.month = today.month;
tomorrow.year = today.year;
} else if (today.month == 12) {
tomorrow.day = 1;
tomorrow.month = 1;
tomorrow.year = today.year+1;
} else {
tomorrow.day = 1;
tomorrow.month = today.month+1;
tomorrow.year = today.year;
}
printf("Tomorrow's date is %i-%i-%i.\n",
tomorrow.month, tomorrow.day, tomorrow.year);
return 0;
}
int numberOfDays(struct date d) {
int days;
// 每个月天数
const int daysPerMonth[12] = {31, 28, 31, 30, 31, 30, 31,31,30,31,30,31};
// 闰年2月有29天
if (d.month == 2 && isLeap(d)) {
days = 29;
} else {
days = daysPerMonth[d.month-1];
}
return days;
}
bool isLeap(struct date d)
{
bool leap = false;
// 闰年是指公历年份中能够被4整除但不能被100整除,或者能够被400整除的年份
if ((d.year%4==0 && d.year%100!=0)) {
leap = true;
}
return leap;
}
12-08
1980
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
10-15
1385
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
05-07
1086
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
10-14
2342
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交