C语言编写一个打印2024年某一周周历的程序
时间: 2024-10-17 20:14:48 浏览: 31
在C语言中,打印一个特定年份的某个星期的日历可以使用标准库函数`ctime`和一些基本的数学计算。下面是一个简单的示例程序,它会打印2024年的第一个星期一至最后一个星期日的日历:
```c
#include <stdio.h>
#include <time.h>
void print_weekly_calendar(int year, int week_start_day) {
// 获取指定日期的一开始的时间
time_t cal_time = mktime(&tm_struct);
// 设置年份和星期几(假设一周的第一天是 Monday=1)
tm_struct.tm_year = year - 1900; // 使用世纪年份
tm_struct.tm_mon = 0; // 月份从0开始计数
tm_struct.tm_mday = 1; // 初始一天设为1
tm_struct.tm_wday = week_start_day - 1; // 0代表Sunday,周一为1
// 循环直到找到指定年份和星期
while (cal_time != 0 && year != tm_struct.tm_year + 1900 || week_start_day != tm_struct.tm_wday + 1) {
cal_time = mktime(&tm_struct);
++tm_struct.tm_mday;
}
// 打印日历
for (int i = 1; i <= 7; ++i) {
printf("%d ", tm_struct.tm_mday); // 星期几
if (i % 7 == 0) { // 每一行结束时换行
printf("\n");
}
}
}
int main() {
int year = 2024;
int week_start_day = 1; // 设定周一作为一周的第一天
print_weekly_calendar(year, week_start_day);
return 0;
}
```
这个程序首先设置了一个时间结构体`tm_struct`,然后循环调整到2024年的第一周,最后打印出那一周的每一天。
阅读全文