c语言万年历代码双列输出
时间: 2024-11-24 20:21:05 浏览: 33
C语言编写万年历的双列输出代码通常会涉及到日期处理、月份天数计算以及格式化输出等功能。以下是一个简化的示例,使用`<stdio.h>`库来创建一个简单的命令行版双列显示的日历:
```c
#include <stdio.h>
#include <time.h>
// 显示月份和日期
void print_date(int month, int day) {
char weekday[10];
struct tm timeinfo = {0};
timeinfo.tm_mon = month - 1; // 从0开始计数
timeinfo.tm_mday = day;
timeinfo.tm_year = 1900 + (2023 - timeinfo.tm_year); // 调整到2023年
if (gmtime_r(&timeinfo, &timeinfo)) {
weekday[0] = '日一二三四五六'[timeinfo.tm_wday]; // 获取星期几
weekday[1] = '\0';
printf("%s %d", weekday, day);
} else {
perror("Error");
}
}
int main() {
const int days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 闰年2月有29天
int year = 2023; // 可以设置成用户输入或其他值
for (int month = 1; month <= 12; ++month) {
printf("月份: %d\n", month);
int i = 1;
while (i <= days_in_month[month - 1]) {
print_date(month, i);
i++;
if (i % 7 == 0) { // 每显示7天换一行
printf("\n");
}
}
printf("\n");
}
return 0;
}
```
这个程序会生成一个简单的2023年的日历,并按照每个月的天数将其分为两列显示。
阅读全文