C语言编程:用带边框形式输出2005年4月的月历,并在其下一行输出“她出生了”。
时间: 2024-11-06 12:22:06 浏览: 13
在C语言中,我们可以使用`#include <stdio.h>`头文件中的`printf()`函数以及一些字符串格式化来创建这种效果。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <stdlib.h> // 引入getchar()函数以便暂停程序
void printCalendar(int year, int month) {
const int daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 一年中各个月份天数
int i;
printf(" %02d/%02d\n", 1, month); // 输出月份的第一行,格式化为两位数字
for (i = 1; i <= daysInMonth[month - 1]; ++i) {
printf("%3d ", i);
if ((i == 7 || i == 14 || i == 21 || i == 28) && month != 2) { // 如果日期是7、14、21或最后一个日,换行
printf("\n");
}
}
printf("\n");
printf("\tShe was born on this day.\n"); // 下一行输出固定的文本
}
int main() {
int year = 2005;
int month = 4; // 因此我们输出的是2005年4月的月历
printCalendar(year, month);
getchar(); // 程序暂停,直到用户按下回车键
return 0;
}
```
这个程序会输出类似这样的格式:
```
01/04
02 03 04 05 06 07
08 09 10 11 12 13
14 15 16 17 18 19
20 21 22 23 24 25
26 27 28 She was born on this day.
```
请注意,由于C语言的标准库并不提供直接计算闰年的功能,上面的`daysInMonth[]`数组假设所有二月有28天。如果需要处理闰年,你需要在计算中增加判断条件。
阅读全文