C语言计算下一天日期的函数nextDate()
时间: 2023-11-29 07:04:03 浏览: 292
以下是一个简单的C语言函数nextDate(),用于计算给定日期的下一天日期:
```c
#include <stdio.h>
typedef struct {
int day;
int month;
int year;
} Date;
int isLeapYear(int year) {
if (year % 4 == 0) {
if (year % 100 == 0) {
if (year % 400 == 0) {
return 1;
} else {
return 0;
}
} else {
return 1;
}
} else {
return 0;
}
}
Date nextDate(Date date) {
int daysInMonth[] = {31, 28 + isLeapYear(date.year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int maxDays = daysInMonth[date.month - 1];
if (date.day < maxDays) {
date.day++;
} else {
if (date.month < 12) {
date.day = 1;
date.month++;
} else {
date.day = 1;
date.month = 1;
date.year++;
}
}
return date;
}
int main() {
Date date;
printf("Enter date (dd mm yyyy): ");
scanf("%d %d %d", &date.day, &date.month, &date.year);
Date next = nextDate(date);
printf("Next date is %d %d %d", next.day, next.month, next.year);
return 0;
}
```
在上面的代码中,我们首先定义了一个名为Date的结构体,该结构体包含day,month和year三个整数字段。然后我们定义了一个函数isLeapYear(),用于检查给定的年份是否为闰年。接下来,我们定义了函数nextDate(),该函数接受一个Date参数并返回下一天的日期。最后,我们在main()函数中读取用户输入的日期,调用nextDate()函数,并打印出下一天的日期。
这个函数假设输入的日期是有效的。如果需要,请根据具体情况添加错误检查。
阅读全文