Menu
CoddyTech

回顾:日历网格

本课属于 Coddy Swift 学习旅程的“逻辑与流程”单元。第 11 课,共 56 课。

challenge icon

挑战

中等

从三行中读取三个整数:days(一个月的总天数,28 到 31)、start_dow(0 = 星期一 … 6 = 星期日,即每月 1 日是星期几)和 cols(要打印的列数)。

打印日历网格:

  • 在第一行开头填入 --,直到日期与星期对齐(每个开头的空位填入一个 --)
  • 打印从 1 到 days 的每一天,每个日期占两个字符(个位数日期前加一个空格,例如 1、10)
  • 同一行的单元格之间用一个空格隔开
  • 每打印 cols 个条目(包括填充项)后换行

对于输入 30 / 2 / 7,输出为:

-- --  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

亲手试试

let days = Int(readLine()!)!
let startDow = Int(readLine()!)!
let cols = Int(readLine()!)!

// TODO:创建一个由单元格组成的一维数组("--" 加上日期字符串),
// 然后每行输出 `cols` 个单元格,单元格之间用一个空格连接

逻辑与流程中的所有课

自己练习: Swift 在线编辑器