#CS50304. 完善程序3-枚举算法-4打印日历

完善程序3-枚举算法-4打印日历

打印日历

输入月份 m(1≤m≤12),按一定格式打印 2015 年第 m 月的月历。

例如,2015 年 11 月的月历打印效果如下(第一列为周日):

S   M   T   W   T   F   S

                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
#include <iostream>
#include <string>
using namespace std;
const int dayNum[] = {-1, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int m, offset, i;
int main()
{
    cin >> m;
    cout << "S\tM\tT\tW\tT\tF\tS" << endl; /* '\t'为 TAB 制表符 */
    ①;
    for (i = 1; i < m; i++)
        offset = ②;
    for (i = 0; i < offset; i++)
        cout << '\t';
    for (i = 1; i <= ③; i++)
    {
        cout << ④;
        if (i == dayNum[m] || ⑤ == 0)
            cout << endl;
        else
            cout << '\t';
    }
    return (0);
}
  1. ①处应填( ){{ select(1) }}
  • 28
  • 29
  • 30
  • 31
  1. ②处应填( ){{ select(2) }}
  • dayNum[0]
  • dayNum[i-1]
  • dayNum[i]
  • dayNum[3]
  1. ③处应填( ){{ select(3) }}
  • dayNum[m]
  • dayNum[m*m]
  • m
  • m*m
  1. ④处应填( ){{ select(4) }}
  • &&
  • ||
  • !
  • ==
  1. ⑤处应填( ){{ select(5) }}
  • dayNum[offset]
  • !
  • (offset+dayNum[0])
  • (offset+i)