7-1-40 打印某月份日历(之一)

编程序实现:输入某个月份的天数以及这个月的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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值