输入当前日期,输出第二天日期
输入指定日期,输出明天日期!
#include <stdio.h>
//函数判断是否为闰年
int isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
return 1;
}
return 0;
}
//函数根据给定的年份和月份获取该月的最大天数
int getMaxDay(int year, int month) {
int maxDays[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (month == 2 && isLeapYear(year)) {
return 29;
}
return maxDays[month - 1];
}
//函数根据给定的年份、月份和日期计算下一天的日期
void getNextDay(int year, int month, int day, int *nextYear, int *nextMonth, int *nextDay) {
if (month == 12 && day == 31) {
*nextYear = year + 1;
*nextMonth = 1;
*nextDay = 1;
} else if (day == getMaxDay(year, month)) {
*nextYear = year;
*nextMonth = month + 1;
*nextDay = 1;
} else {
*nextYear = year;
*nextMonth = month;
*nextDay = day + 1;
}
}
int main() {
int year, month, day;
int nextYear, nextMonth, nextDay;
printf("请输入指定日期(格式为year-mouth-day):");
scanf("%d-%d-%d", &year, &month, &day);
getNextDay(year, month, day, &nextYear, &nextMonth, &nextDay);
printf("下一天日期:%d-%02d-%02d\n", nextYear, nextMonth, nextDay);
return 0;
}
代码运行实例: