C++程式列印8字星號圖案
在基礎程式設計和邏輯構建中,以不同格式(例如金字塔、正方形和菱形)顯示星號圖案非常常見。在學習程式設計中的迴圈語句時,我們已經看到了許多星號和數字圖案問題。在本文中,我們將用C++顯示用星號組成的數字8。
在這個程式中,我們取行數n作為數字8上半部分的大小。下半部分將相同。8字圖案如下所示
用星號表示的8字圖案
* * * * * * * * * * * * * * * * * * * * *
在上例中,行數n = 5。對於前五行,形成8的上半部分。當行號為1、n和n*2時,星號將連續列印。對於其他行,只打印兩個星號。讓我們看看演算法以便更好地理解。
演算法
- 將輸入n作為8的上半部分的行數
- 對於i從1到2n-1,執行以下操作:
- 如果i為1或n或i為n*2,則
- 對於j從1到n,執行以下操作:
- 如果j為1或n,則
- 顯示空格
- 否則
- 顯示星號 (*)
- 結束if
- 如果j為1或n,則
- 結束for
- 對於j從1到n,執行以下操作:
- 否則
- 對於k從1到n,執行以下操作:
- 如果k為1或n,則
- 顯示星號 (*)
- 否則
- 顯示空格
- 結束if
- 如果k為1或n,則
- 結束for
- 對於k從1到n,執行以下操作:
- 結束if
- 將游標移到下一行
- 如果i為1或n或i為n*2,則
- 結束for
示例
#include <iostream>
using namespace std;
void solve( int n ){
for ( int i = 1; i <= n * 2 - 1; i++ ) {
if ( i == 1 || i == n || i == n * 2 - 1 ) {
for ( int j = 1; j <= n; j++ ) {
if ( j == 1 || j == n ) {
cout << " ";
} else {
cout << "*";
}
}
} else {
for ( int k = 1; k <= n; k++ ) {
if ( k == 1 || k == n ) {
cout << "*";
} else {
cout << " ";
}
}
}
cout << "\n";
}
}
int main(){
int n = 7;
cout << "Eight Pattern for " << n << " lines." << endl;
solve( n );
}
輸出
Eight Pattern for 7 lines. ***** * * * * * * * * * * ***** * * * * * * * * * * *****
輸出 (n = 12)
Eight Pattern for 12 lines. ********** * * * * * * * * * * * * * * * * * * * * ********** * * * * * * * * * * * * * * * * * * * * **********
結論
數值圖案的顯示是學習程式語言時遇到的更常見的問題之一。本文演示瞭如何使用星號來顯示數字8(星號)。對於數字8,它將行數乘以二,以生成n*2行的圖案。上半部分和下半部分都由n行組成。此外,圖案的寬度為n。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP