有一个“日期推算”程序,该程序的功能是输入一个日期,输出该日期前一天的日期,例如输入2024年3月15日,则输出2024年3月14日。C语言
时间: 2024-10-26 16:17:17 浏览: 6
C语言编程:一个日期推算的程序
在C语言中,我们可以使用`struct`来表示日期,并通过函数来进行日期的计算。以下是一个简单的示例:
```c
#include <stdio.h>
#include <time.h>
// 定义日期结构体
struct Date {
int year;
int month;
int day;
};
// 函数来获取当前日期减一的新日期
struct Date prev_date(struct Date date) {
// 使用时间库减少一天
time_t raw_time = mktime(&date);
time_t new_time = raw_time - (60 * 60 * 24); // 一天等于秒数(60*60*24)
struct tm* result = localtime(&new_time);
// 将结果转换回日期结构体
date.year = result->tm_year + 1900; // 时间库是以1970年开始计数的,所以加1900
date.month = result->tm_mon + 1; // 月份从0开始,所以加1
date.day = result->tm_mday;
return date;
}
int main() {
struct Date input_date;
printf("请输入日期(格式: 年 月 日): ");
scanf("%d %d %d", &input_date.year, &input_date.month, &input_date.day);
if(input_date.year > 1 && input_date.month > 0 && input_date.day > 0) { // 验证输入是否有效
struct Date prev = prev_date(input_date);
printf("前一天的日期是: %d-%02d-%02d\n", prev.year, prev.month, prev.day);
} else {
printf("无效的日期输入。\n");
}
return 0;
}
```
当你运行这个程序并输入2024年3月15日时,它会输出2024年3月14日。
阅读全文