用C语言写 万年历
时间: 2023-12-29 13:12:46 浏览: 139
好的,我可以为您提供一个简单的万年历的C语言实现。以下是代码示例:
```c
#include <stdio.h>
int main() {
int year, month, day, days_in_month, start_day, i, j;
// 获取年份
printf("请输入年份:");
scanf("%d", &year);
// 获取月份
printf("请输入月份:");
scanf("%d", &month);
// 计算该月份有多少天
if (month == 2) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days_in_month = 29;
} else {
days_in_month = 28;
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
days_in_month = 30;
} else {
days_in_month = 31;
}
// 计算该月份的第一天是星期几
start_day = 1;
for (i = 1; i < month; i++) {
if (i == 2) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
start_day += 29;
} else {
start_day += 28;
}
} else if (i == 4 || i == 6 || i == 9 || i == 11) {
start_day += 30;
} else {
start_day += 31;
}
}
start_day = (start_day % 7 + 1) % 7;
// 打印日历
printf("\n日 一 二 三 四 五 六\n");
for (i = 0; i < start_day; i++) {
printf(" ");
}
for (j = 1; j <= days_in_month; j++) {
printf("%2d ", j);
if ((j + start_day) % 7 == 0) {
printf("\n");
}
}
printf("\n");
return 0;
}
```
在此代码中,我们使用了一些基本的C语言知识,如变量、循环和条件语句。程序首先获取用户输入的年份和月份,然后计算该月份的天数和第一天是星期几。最后,程序打印出一个简单的日历,其中包括该月份的每一天以及星期几。
阅读全文