返回首页 返回题库

日历制作

C++ 简单 GESP三级真题 #数组#格式化输出

题目描述

题面描述

小A想制作2025年每个月的日历。他希望你能编写一个程序,按照格式输出给定月份的日历。


具体来说,第一行需要输出 MON TUE WED THU FRI SAT SUN ,分别表示星期一到星期日。接下来若干行中依次输出这个月所包含的日期,日期的个位需要和对应星期几的缩写最后一个字母对齐。例如,2025年9月1日是星期一,在输出九月的日历时,1号的个位 1 就需要与星期一MON的最后一个字母N对齐。九月的日历输出效果如下:

MON TUE WED THU FRI SAT SUN
  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


你能帮小A完成日历制作吗?


输入格式

一行,一个正整数m,表示需要按照格式输出2025年m月的日历。


输出格式

输出包含若干行,表示2025年m月的日历。


样例1

输入:

9

输出:

MON TUE WED THU FRI SAT SUN
  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

样例2

输入:

6

输出:

MON TUE WED THU FRI SAT SUN
                          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


数据范围

对于所有测试点,保证1 ≤ m ≤ 12。


时间限制

1.0 s

内存限制

512.0 MB

💡 查看提示(先自己想一想再看)
考察的核心知识点:数组存储固定数据、循环计算星期几、格式化输出控制对齐、条件判断处理换行。解题思路:1. 用数组存储2025年每个月的天数(2025不是闰年,2月28天);2. 已知9月1日是星期一,根据给定月份m计算该月1日是星期几;3. 输出星期标题;4. 输出前导空格,每个前导空格对应一个星期几的位置(宽度为3);5. 依次输出日期,每个日期占3位右对齐,每7天或到月末时换行。常见易错点:格式化输出时的宽度设置错误、星期几的计算出现负数、月末的换行处理遗漏、前导空格的数量不正确。
⚙ 开始做这道题 0 人做过 · 2 收藏 · 18 浏览

讨论(0)