该程序有三个输入变量 month、day、year(month 、 day 和 year 均为整数值,并且满足: 1≤month≤12 和 1≤day≤31 分), 别作为输入日期 的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为 2004 年 11 月 29 日,则该程序的输出为 2004 年 12 月 1 日 帮我生成c的代码
时间: 2024-02-13 16:05:53 浏览: 121
以下是根据您的要求生成的 C 代码:
```c
#include <stdio.h>
int main() {
int month, day, year;
printf("请输入日期的月份、日、年份(以空格分隔):");
scanf("%d %d %d", &month, &day, &year);
int next_month, next_day, next_year;
if (day == 31 && (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10)) {
next_month = month + 1;
next_day = 1;
} else if (day == 30 && (month == 4 || month == 6 || month == 9 || month == 11)) {
next_month = month + 1;
next_day = 1;
} else if (day == 28 && month == 2 && (year % 4 != 0 || (year % 100 == 0 && year % 400 != 0))) {
next_month = month + 1;
next_day = 1;
} else if (day == 29 && month == 2 && (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))) {
next_month = month + 1;
next_day = 1;
} else {
next_month = month;
next_day = day + 1;
}
if (next_month > 12) {
next_month = 1;
next_year = year + 1;
} else {
next_year = year;
}
printf("输入日期的下一天是:%d年%d月%d日\n", next_year, next_month, next_day);
return 0;
}
```
该程序通过读取用户输入的日期,计算出输入日期的下一天日期并输出。具体实现过程是,根据输入日期的月份和日数判断下一天日期的月份和日数,再根据年份是否是闰年来判断 2 月 29 日的情况。最后输出计算出来的日期。
阅读全文