编c语言程序实现:输入某个月份的天数以及这个月的1日的星期值(星期日到星期六分别用0到6之间的整数表示),输出该月份的公历日历(要求用循环控制打印)
时间: 2024-02-11 07:07:40 浏览: 69
好的,以下是实现该功能的 C 语言程序:
```
#include <stdio.h>
int main()
{
int days, firstDay;
printf("请输入月份的天数和这个月1日的星期值(星期日到星期六分别用0到6之间的整数表示):\n");
scanf("%d %d", &days, &firstDay);
printf("日 一 二 三 四 五 六\n");
int day = 1;
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 7; j++)
{
if (i == 0 && j < firstDay)
{
printf(" ");
}
else if (day <= days)
{
printf("%2d ", day++);
}
else
{
printf(" ");
}
}
printf("\n");
if (day > days)
{
break;
}
}
return 0;
}
```
程序首先通过 `scanf` 函数接收用户输入的月份天数和该月1日的星期值,然后使用双重循环打印日历。外层循环控制行数,内层循环控制列数。在打印每个格子时,根据当前日期与总天数的大小关系以及当前格子是否在该月1日之前,选择输出日期或空格。最后,当日期超过总天数时,跳出循环,程序结束。
阅读全文