用c语言写一个11月的日历对应星期几
时间: 2024-12-15 12:27:20 浏览: 13
在 C 语言中,编写一个显示指定月份日历并注明星期几的功能需要使用一些时间相关的库函数,如 `ctime` 和 `strftime`。这里提供一个简单的示例,展示如何计算并打印出11月的日历:
```c
#include <stdio.h>
#include <time.h>
#define DAY_OF_WEEK "Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
void print_calendar(int month, int year) {
struct tm timeinfo;
time_t cal_time;
// 设置日期为11月的第一天
timeinfo.tm_year = year - 1900; // 时间表示从1900年算起
timeinfo.tm_mon = month - 1; // 月份从0开始计数
timeinfo.tm_mday = 1; // 当天是月初
timeinfo.tm_hour = 0;
timeinfo.tm_min = 0;
timeinfo.tm_sec = 0;
// 校准时间戳
cal_time = mktime(&timeinfo);
// 设置日期格式
char buffer[80];
strftime(buffer, sizeof(buffer), "%A %d %B", &timeinfo); // 星期几,日期,月份
printf("%s\n", buffer); // 输出星期几
for (int i = 1; i <= 31; i++) { // 打印每天
timeinfo.tm_mday = i;
strftime(buffer, sizeof(buffer), "%d", &timeinfo);
printf("%2d ", buffer); // 两位数字对齐
if ((i % 7 == 6) || (i == 31)) { // 每周结束或者每月最后一天换行
printf("\n");
}
}
}
int main() {
int month = 11; // 十一月
int year = 2023; // 示例年份
print_calendar(month, year);
return 0;
}
阅读全文