多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# C++ 程序:创建金字塔图案 > 原文: [https://www.programiz.com/cpp-programming/examples/pyramid-pattern](https://www.programiz.com/cpp-programming/examples/pyramid-pattern) #### 在 C++ 编程中使用控制语句打印半金字塔,金字塔,倒金字塔,帕斯卡三角形和弗洛伊德三角形的示例。 要理解此示例,您应该了解以下 [C++ 编程](/cpp-programming "C++ tutorial")主题: * [C++ `if`,`if...else`和嵌套`if...else`](/cpp-programming/if-else) * [C++ `for`循环](/cpp-programming/for-loop) * [C++ `while`和`do...while`循环](/cpp-programming/do-while-loop) * [C++ `break`和`continue`语句](/cpp-programming/break-continue) * * * 源代码清单: + [使用`*`字符和数字打印三角形](#triangle) + [使用`*`和数字打印倒三角形](#inverted_triangle) + [打印金字塔的代码](#pyramid) + [打印倒金字塔的代码](#reverse_pyramid) + [打印 Pascal 三角形的代码](#pascal_triangle) + [打印弗洛伊德三角形的代码](#floyd_triangle) ## 使用`*`,数字和字符打印三角形的程序 * * * #### 示例 1:使用`*`打印半金字塔的程序 ```cpp * * * * * * * * * * * * * * * ``` **源代码** ```cpp #include <iostream> using namespace std; int main() { int rows; cout << "Enter number of rows: "; cin >> rows; for(int i = 1; i <= rows; ++i) { for(int j = 1; j <= i; ++j) { cout << "* "; } cout << "\n"; } return 0; } ``` * * * #### 示例 2:使用数字打印半金字塔的程序 ```cpp 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 ``` **源代码** ```cpp #include <iostream> using namespace std; int main() { int rows; cout << "Enter number of rows: "; cin >> rows; for(int i = 1; i <= rows; ++i) { for(int j = 1; j <= i; ++j) { cout << j << " "; } cout << "\n"; } return 0; } ``` * * * #### 示例 3:使用字母打印半金字塔的程序 ```cpp A B B C C C D D D D E E E E E ``` **源代码** ```cpp #include <iostream> using namespace std; int main() { char input, alphabet = 'A'; cout << "Enter the uppercase character you want to print in the last row: "; cin >> input; for(int i = 1; i <= (input-'A'+1); ++i) { for(int j = 1; j <= i; ++j) { cout << alphabet << " "; } ++alphabet; cout << endl; } return 0; } ``` ## 使用`*`和数字打印倒置半金字塔的程序 * * * #### 示例 4:使用`*`打印倒置半金字塔 ```cpp * * * * * * * * * * * * * * * ``` **源代码** ```cpp #include <iostream> using namespace std; int main() { int rows; cout << "Enter number of rows: "; cin >> rows; for(int i = rows; i >= 1; --i) { for(int j = 1; j <= i; ++j) { cout << "* "; } cout << endl; } return 0; } ``` * * * #### 示例 5:使用数字打印倒置半金字塔 ```cpp 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 ``` **源代码** ```cpp #include <iostream> using namespace std; int main() { int rows; cout << "Enter number of rows: "; cin >> rows; for(int i = rows; i >= 1; --i) { for(int j = 1; j <= i; ++j) { cout << j << " "; } cout << endl; } return 0; } ``` ## 使用`*`和数字显示金字塔和倒金字塔的程序 * * * #### 示例 6:使用`*`打印完整金字塔的程序 ```cpp * * * * * * * * * * * * * * * * * * * * * * * * * ``` **源代码** ```cpp #include <iostream> using namespace std; int main() { int space, rows; cout <<"Enter number of rows: "; cin >> rows; for(int i = 1, k = 0; i <= rows; ++i, k = 0) { for(space = 1; space <= rows-i; ++space) { cout <<" "; } while(k != 2*i-1) { cout << "* "; ++k; } cout << endl; } return 0; } ``` * * * #### 示例 7:使用数字打印金字塔的程序 ```cpp 1 2 3 2 3 4 5 4 3 4 5 6 7 6 5 4 5 6 7 8 9 8 7 6 5 ``` **源代码** ```cpp #include <iostream> using namespace std; int main() { int rows, count = 0, count1 = 0, k = 0; cout << "Enter number of rows: "; cin >> rows; for(int i = 1; i <= rows; ++i) { for(int space = 1; space <= rows-i; ++space) { cout << " "; ++count; } while(k != 2*i-1) { if (count <= rows-1) { cout << i+k << " "; ++count; } else { ++count1; cout << i+k-2*count1 << " "; } ++k; } count1 = count = k = 0; cout << endl; } return 0; } ``` * * * #### 示例 8:使用`*`打印倒置完整金字塔 ```cpp * * * * * * * * * * * * * * * * * * * * * * * * * ``` **源代码** ```cpp #include <iostream> using namespace std; int main() { int rows; cout << "Enter number of rows: "; cin >> rows; for(int i = rows; i >= 1; --i) { for(int space = 0; space < rows-i; ++space) cout << " "; for(int j = i; j <= 2*i-1; ++j) cout << "* "; for(int j = 0; j < i-1; ++j) cout << "* "; cout << endl; } return 0; } ``` * * * ### 示例 9:打印 Pascal 三角形 ```cpp 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ``` **源代码** ```cpp #include <iostream> using namespace std; int main() { int rows, coef = 1; cout << "Enter number of rows: "; cin >> rows; for(int i = 0; i < rows; i++) { for(int space = 1; space <= rows-i; space++) cout <<" "; for(int j = 0; j <= i; j++) { if (j == 0 || i == 0) coef = 1; else coef = coef*(i-j+1)/j; cout << coef << " "; } cout << endl; } return 0; } ``` * * * ### 示例 10:打印弗洛伊德三角形 ```cpp 1 2 3 4 5 6 7 8 9 10 ``` **源代码** ```cpp #include <iostream> using namespace std; int main() { int rows, number = 1; cout << "Enter number of rows: "; cin >> rows; for(int i = 1; i <= rows; i++) { for(int j = 1; j <= i; ++j) { cout << number << " "; ++number; } cout << endl; } return 0; } ```