用c语言写一个日历,可输入的
时间: 2024-11-13 16:27:15 浏览: 0
在C语言中编写一个简单的命令行日历程序,你可以使用`<stdio.h>`库来进行用户输入和基本的日期处理,以及`<time.h>`库来获取当前时间和日期。下面是一个基础的示例:
```c
#include <stdio.h>
#include <time.h>
void print_date(int year, int month) {
struct tm calendar[7] = { {0} };
calendar[0].tm_year = year - 1900;
calendar[0].tm_mon = month - 1;
for (int i = 0; i < 7; ++i) {
time_t cal_time = mktime(&calendar[i]);
if (cal_time == -1)
break; // 处理无效日期
printf("%d-%02d-%02d\n", calendar[i].tm_year + 1900, calendar[i].tm_mon + 1, calendar[i].tm_mday);
}
}
int main() {
int year, month;
printf("请输入年份: ");
scanf("%d", &year);
printf("请输入月份(1-12): ");
scanf("%d", &month);
// 检查输入是否合法
if (month < 1 || month > 12 || year < 1)
return 1;
print_date(year, month);
return 0;
}
```
这个程序会提示用户输入年份和月份,然后打印出该月的日历。注意,`mktime()`函数将`struct tm`转换成时间戳,如果输入的日期无效,它会返回-1。
阅读全文