编程序实现:输入某个月份的天数以及这个月的1日的星期值(星期日到星期六分别用0到6之间的整数表示),输出该月份的公历日历(要求用循环控制打印)。
常见问题:
如何控制某个月1日的打印位置?
答:根据该月份1日的星期值,控制在“1”之前打印相应个数的空格(建议用循环控制)。
输入格式:
输入该月份的天数以及1日的星期值,数据之间以空格分隔。
输出格式:
每项数据占4个字符宽度,右对齐。
输入样例:
31 2
输出样例:
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include <stdio.h>
int main()
{
int days, firstDay;
scanf("%d %d", &days, &firstDay);
printf(" Sun Mon Tue Wed Thu Fri Sat\n");
for (int i = 0; i < firstDay; i++)
{
printf(" ");
}
for (int day = 1; day <= days; day++)
{
printf("%4d", day);
if ((day + firstDay) % 7 == 0)
{
printf("\n");
}
}
return 0;
}