菱形

菱形

中等

說明

鑽石 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,全部免費。