Swift程式列印空心直角三角形星號圖案
本教程將討論如何編寫Swift程式來列印空心直角三角形星號圖案。
星號圖案是由“*”組成的序列,用於建立不同的圖案或形狀,例如金字塔、矩形、十字架等。這些星號圖案通常用於理解或練習程式流程控制,它們也有利於邏輯思維訓練。
要建立一個空心直角三角形星號圖案,我們可以使用以下任何方法:
- 使用巢狀for迴圈
- 使用stride函式
以下是演示:
輸入
假設我們的輸入是:
Num = 5
輸出
期望的輸出是:
* ** * * * * *****
演算法
以下是演算法:
步驟1 - 宣告一個變數來儲存三角形的長度。
步驟2 - 執行巢狀for迴圈來列印圖案中的空格和“*”。此處,外層for迴圈處理行,內層for迴圈處理列。
步驟3 - 在巢狀for迴圈內,如果((j == 1) || (j == i) || (i == num))為真,則列印“*”。否則列印空格。
步驟4 - 列印輸出
方法1 - 使用巢狀for迴圈
我們可以使用巢狀for迴圈建立空心直角三角形“*”圖案或任何其他圖案。這裡每個for迴圈處理不同的任務,例如最外層的for迴圈用於新行,巢狀的for迴圈處理列等。
示例
以下程式演示瞭如何使用巢狀for迴圈列印空心直角三角形星號圖案。
import Foundation
import Glibc
var num = 5
// Print rows
for i in 1...num{
// Print columns
for j in 1...i{
// Print "*" in hollow right angle triangle
if ((j == 1) || (j == i) || (i == num)){
print("*", terminator: "")
}
else{
print("", terminator: " ")
}
}
// Print New line
print("")
}
輸出
* ** * * * * *****
在上面的程式碼中,我們使用巢狀for迴圈來列印空心直角三角形星號圖案。最外層的for迴圈(從1到5)用於處理要列印的行數,每一行都以換行符開頭。巢狀的for迴圈處理列數。在這個巢狀迴圈中,我們使用以下三個條件來列印“*”:
- if(j == 1) 用於列印第一列
- if(j == i) 用於列印第二列
- if(i == num) 用於列印最後一列
如果所有條件都不滿足,則列印空格。
方法2 - 使用stride函式
Swift提供了一個名為stride()的內建函式。stride()函式用於以增量或減量從一個值移動到另一個值。或者可以說stride()函式返回從起始值開始的序列,但不包括結束值,並且給定序列中的每個值都按給定量遞增。
語法
以下是語法:
stride(from:startValue, to: endValue, by:count)
這裡:
from - 表示給定序列使用的起始值。
to - 表示限制給定序列的結束值
by - 表示每次迭代的步進量,正值表示向上迭代或增量,負值表示向下迭代或減量。
示例
以下程式演示瞭如何使用stride()函式列印空心直角三角形星號圖案。
import Foundation
import Glibc
var num = 10
// Print rows
for i in stride(from:1, to:num+1, by:1){
// Print columns
for j in stride(from:1, to:i+1, by:1){
// Print "*" in hollow right angle triangle
if ((j == 1) || (j == i) || (i == num)){
print("*", terminator: "")
}
else{
print("", terminator: " ")
}
}
// Print New line
print("")
}
輸出
* ** * * * * * * * * * * * * * * **********
在上面的程式碼中,我們在for迴圈中使用stride()函式來列印空心直角三角形圖案。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP