用c语言编写一个测试计算下一天日期的函数nextDate()
时间: 2024-02-01 11:16:50 浏览: 82
好的,下面是一个简单的 C 语言函数 `nextDate()`,用于计算给定日期的下一天日期:
```c
#include <stdio.h>
// 判断是否为闰年
int isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return 1;
}
return 0;
}
// 计算给定日期的下一天日期
void nextDate(int day, int month, int year) {
int daysInMonth[] = {31, 28 + isLeapYear(year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (day < 1 || day > daysInMonth[month - 1] || month < 1 || month > 12) {
printf("Invalid date\n");
return;
}
if (day < daysInMonth[month - 1]) {
day++;
} else {
day = 1;
if (month == 12) {
month = 1;
year++;
} else {
month++;
}
}
printf("Next date: %02d/%02d/%04d\n", day, month, year);
}
int main() {
int day, month, year;
printf("Enter date (dd/mm/yyyy): ");
scanf("%d/%d/%d", &day, &month, &year);
nextDate(day, month, year);
return 0;
}
```
这个函数首先判断输入的日期是否合法,如果不合法则输出 "Invalid date",否则根据当前日期计算下一天的日期,并输出。其中 `isLeapYear()` 函数用于判断给定年份是否为闰年,根据公历规定,闰年的定义是能被4整除但不能被100整除,或者能被400整除。
阅读全文