c语言编程:用带边框形式输出自己出生那个月的月历,并在其下一行输出某某某出生在某年某月某日。 要求: 1、程序第一行必须为注释,要求跟以前一样,如: /* 24-4-张三 2、必须要有文件包含命令
时间: 2024-11-04 10:11:43 浏览: 25
在C语言中,为了创建一个带边框的形式输出用户出生月份的月历,并在下面附上个人信息,你可以按照以下步骤编写程序:
```c
#include <stdio.h> // 包含标准输入输出库,用于打印日期
// 定义函数,打印指定月份的月历
void print_month(int year, int month) {
const int days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 年内各个月份天数
if (month == 2 && is_leap_year(year)) {
days_in_month[1] = 29; // 如果是闰年,二月有29天
}
printf("月份: %d/%d\n", month, year);
for (int i = 1; i <= 7; ++i) { // 打印一周的日期
for (int j = 1; j <= days_in_month[month - 1]; ++j) {
if (i == 1 && j == 1) {
printf("+%-2d ", j); // 第一行的第一个日期前加"+"作为左边界
} else if (i == 7 || (i > 1 && j == 1)) {
printf("|%-2d", j); // 每行最后一个日期和每行的第一列非第一个日期前加"|"作为边框
} else {
printf("%-2d", j); // 其他日期直接输出
}
}
printf("\n");
}
printf("------------------------\n"); // 输出分割线
}
// 判断是否为闰年
int is_leap_year(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int main() {
int user_year, user_month, user_day;
printf("/* 输入出生日期(例如: 24-4-张三) */\n");
scanf("%d-%d-%s", &user_year, &user_month, &user_day); // 获取用户输入的日期
printf("出生信息: %s 出生在 %d年%d月%d日\n", user_day, user_year, user_month, user_day);
// 打印用户出生月份的月历
print_month(user_year, user_month);
return 0;
}
```
阅读全文