c语言编程序实现:输入某个月份的天数以及这个月的1日的星期值(星期日到星期六分别用0到6之间的整数表示),输出该月份的公历日历(要求用循环控制打印)。 常见问题: 如何控制某个月1日的打印位置? 答:根据该月份1日的星期值,控制在“1”之前打印相应个数的空格(建议用循环控制)。 输入格式: 输入该月份的天数以及1日的星期值,数据之间以空格分隔。 输出格式: 每项数据占4个字符宽度,右对齐。
时间: 2024-02-25 22:51:54 浏览: 79
汇编程序在知道一个月的天数和第一天是星期几及月份的情况下打印出此月的月历
4星 · 用户满意度95%
好的,以下是 C 语言的代码实现:
```c
#include <stdio.h>
int main() {
int days, weekday;
scanf("%d %d", &days, &weekday);
printf("Sun Mon Tue Wed Thu Fri Sat\n");
printf("---- ---- ---- ---- ---- ---- ----\n");
for (int i = 0; i < weekday; i++) {
printf(" ");
}
for (int i = 1; i <= days; i++) {
printf("%4d", i);
if ((i + weekday) % 7 == 0 || i == days) {
printf("\n");
} else {
printf(" ");
}
}
return 0;
}
```
代码说明:
首先输入该月份的天数以及1日的星期值,分别赋值给 `days` 和 `weekday` 变量。
然后输出星期的标头,再输出分隔线。
接着,用循环控制打印相应个数的空格,使得该月1日的打印位置正确。
最后,再用循环控制打印该月份的公历日历,每个日期占4个字符宽度,右对齐,每行7个日期,打印完一行后换行,最后一行打印完日期后也要换行。
阅读全文