菱形

菱形

中等

说明

钻石 kata 以字母作为输入,并输出一个钻石形状。 给定一个字母,它会打印一个以 'A' 开头、最宽处为所给字母的钻石。

要求

  • 第一行包含一个 'A'。
  • 最后一行包含一个 'A'。
  • 除第一行和最后一行外,所有行都恰好有两个相同的字母。
  • 所有行的尾部空格数量与前导空格数量相同。(也可能是 0。)
  • 钻石在水平方向上对称。
  • 钻石在垂直方向上对称。
  • 钻石呈正方形(宽度等于高度)。
  • 字母构成一个钻石形状。
  • 上半部分的字母按升序排列。
  • 下半部分的字母按降序排列。
  • 四个角(包含空格)是三角形。

示例

在下面的示例中,空格用·字符表示。

字母 'A' 的钻石:

A

字母 'C' 的钻石:

··A··
·B·B·
C···C
·B·B·
··A··

字母 'E' 的钻石:

····A····
···B·B···
··C···C··
·D·····D·
E·······E
·D·····D·
··C···C··
···B·B···
····A····

输出格式

将菱形输出为一个以 null 结尾的字符串,每行末尾带一个换行符。

一个示例输出是 " A \n B B \nC C\n B B \n A \n"

寄存器

寄存器 用途 类型 说明
$a0 输入 字节 字母
$a1 输入/输出 地址 以 null 结尾的结果字符串
$t0-9 临时 任意 用于临时存储

来源

Seb Rose链接会在新窗口或新标签页中打开
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
MIPS Assembly Exercism

准备好开始 菱形 了吗?

注册 Exercism,借助 70 个练习 和真人导师指导,学习并掌握 MIPS Assembly,全部免费。