使用 C++ 迴圈語句列印出如下圖案:每行由空格縮排與交替的 'S'、'T' 字元組成,形成一個倒立的等腰三角形,頂部最寬,底部最窄。
#include <iostream>
using namespace std;
int main() {
int n = 10; // 控制三角形高度(行數)
for (int i = 1; i < n; ++i) { // 外層迴圈控制行數,共 n-1 行
// 1. 列印前導空格:第 i 行印 i-1 個空格,產生左側縮排
for (int m = 1; m < i; ++m)
cout << " ";
// 2. 列印 STS 交替字元:每行字元數為 2*(n-i)-1
for (int k = 0; k < 2 * (n - i) - 1; ++k) {
if (k % 2 == 0) cout << "S"; // 偶數索引印 S
else cout << "T"; // 奇數索引印 T
}
cout << endl; // 換行
}
system("pause");
return 0;
}
i = 1 ~ n-1,共 9 行。i 行印 i-1 個空格,使圖形向右逐行遞移。2*(n-i)-1 確保首行最多(17 個字元),每行遞減 2 個,保持三角形對稱。k % 2 判斷奇偶,交替輸出 'S' 與 'T'。n 值觀察不同高度的三角形。while 迴圈實現相同效果。#include <iostream>
#include <cstdlib> // system()
using namespace std;
int main() {
int n = 10;
for (int i = 1; i < n; ++i) {
for (int m = 1; m < i; ++m)
cout << " ";
for (int k = 0; k < 2 * (n - i) - 1; ++k) {
cout << (k % 2 == 0 ? 'S' : 'T');
}
cout << '\n';
}
system("pause");
return 0;
}