#include<stdio.h>
#include<Stdlib.h>
#include<stdbool.h>
struct date {
int day;
int month;
int year;
}today;
bool isleap(struct date today);//要注意此处要带date
int numberofdays(struct date today);要注意此处要带date
int main()
{
struct date tomorrow;
printf("请输入今天的日期");
scanf_s("%d%d%d", &today.year, &today.month, &today.day);
if (today.month == 12 && today.day == 31) {
tomorrow.year = today.year + 1;
tomorrow.month = 1;
tomorrow.day = 1;
}
else if (today.day == numberofdays(today)&&today.year!=isleap(today)) {
tomorrow.day = 1;
tomorrow.month = today.month + 1;
tomorrow.year = today.year;
}
else {
tomorrow.day = today.day + 1;
tomorrow.month = today.month;
tomorrow.year = today.year;
}
printf("tomorrow is %d_%d_%d", tomorrow.year, tomorrow.month, tomorrow.day);
return 0;
}
bool isleap(struct date d) {
bool leap = false;
if (d.year % 4 == 0 && d.year % 100 != 0 || d.year % 400 == 0) {
leap = true;
}
return leap;
}
int numberofdays(struct date t) {
int days;
const int d[]{ 31,28,31,30,31,30,31,31,30,31,30,31 };
if (t.month == 2 && isleap(t)) {
days = 29;
}
else {
days = d[t.month - 1];
}
return days;
}