c语言程序设计年历显示
时间: 2023-07-02 11:16:27 浏览: 43
好的,我来为您介绍一下如何编写一个简单的C语言程序,用于显示年历。
首先,我们需要获取用户输入的年份和月份。可以使用标准库函数 scanf 来实现:
```
int year, month;
printf("请输入年份和月份:");
scanf("%d%d", &year, &month);
```
接下来,我们需要计算出该月份的天数和该月份第一天是星期几。可以使用以下函数来实现:
```
int get_days(int year, int month) {
int days = 0;
if (month == 2) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days = 29;
} else {
days = 28;
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
days = 30;
} else {
days = 31;
}
return days;
}
int get_weekday(int year, int month) {
struct tm time = {0};
time.tm_year = year - 1900;
time.tm_mon = month - 1;
time.tm_mday = 1;
mktime(&time);
return time.tm_wday;
}
```
然后,我们可以使用循环来输出日历:
```
int days = get_days(year, month);
int weekday = get_weekday(year, month);
printf("日 一 二 三 四 五 六\n");
for (int i = 0; i < weekday; i++) {
printf(" ");
}
for (int i = 1; i <= days; i++) {
printf("%2d ", i);
if ((i + weekday) % 7 == 0) {
printf("\n");
}
}
if ((days + weekday) % 7 != 0) {
printf("\n");
}
```
这样,我们就完成了一个简单的C语言程序,用于显示年历。