c语言编写函数,用户输入今天日期,结果输出明天日期
时间: 2023-11-02 12:06:17 浏览: 142
下面是一个基本的C语言函数实现,可以输入今天的日期,然后计算出明天的日期并输出:
```c
#include <stdio.h>
int isLeapYear(int year) { // 判断是否为闰年
return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}
int getDays(int year, int month) { // 获取某年某月的天数
int days[] = {31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
return days[month - 1];
}
void getNextDate(int year, int month, int day) { // 计算下一天的日期
if (day < getDays(year, month)) { // 如果不是最后一天
day++;
} else { // 如果是最后一天
day = 1;
if (month == 12) { // 如果是12月
month = 1;
year++;
} else {
month++;
}
}
printf("明天的日期为:%d年%d月%d日\n", year, month, day);
}
int main() {
int year, month, day;
printf("请输入今天的日期:\n");
scanf("%d%d%d", &year, &month, &day);
getNextDate(year, month, day);
return 0;
}
```
这个函数使用了三个辅助函数:
- `isLeapYear(int year)`:判断一个年份是否为闰年;
- `getDays(int year, int month)`:获取一个月的天数;
- `getNextDate(int year, int month, int day)`:计算下一天的日期。
在`getNextDate`函数中,我们先判断今天是否为最后一天,如果不是,直接将天数加一即可;如果是,需要将天数置为1,并且判断是否是12月,如果是,需要将年份加1,月份置为1;否则,只需要将月份加1即可。
最后,我们在`main`函数中获取用户输入的日期,然后调用`getNextDate`函数计算出明天的日期并输出。
阅读全文