C++ 编写创建金字塔和图案的程序
要理解这个示例,你应该具备以下 C++ 编程 主题的知识:
源代码列表 |
---|
使用 *、数字和字符打印三角形 |
使用 * 和数字打印倒三角形 |
打印金字塔的代码 |
打印反向金字塔的代码 |
打印帕斯卡三角形的代码 |
打印弗洛伊德三角形的代码 |
使用 *、数字和字符打印三角形的程序
示例 1:使用 * 打印半金字塔程序
*
* *
* * *
* * * *
* * * * *
源代码
#include <iostream>
using namespace std;
int main() {
int rows;
cout << "输入行数:";
cin >> rows;
for(int i = 1; i <= rows; ++i) {
for(int j = 1; j <= i; ++j) {
cout << "* ";
}
cout << "\n";
}
return 0;
}
示例 2:使用数字打印半金字塔程序
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
源代码
#include <iostream>
using namespace std;
int main() {
int rows;
cout << "输入行数:";
cin >> rows;
for(int i = 1; i <= rows; ++i) {
for(int j = 1; j <= i; ++j) {
cout << j << " ";
}
cout << "\n";
}
return 0;
}
示例 3:使用字母打印半金字塔程序
A
B B
C C C
D D D D
E E E E E
源代码
#include <iostream>
using namespace std;
int main() {
char input, alphabet = 'A';
cout << "输入你想在最后一行打印的大写字符:";
cin >> input;
// 将输入字符转换为大写
input = toupper(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:使用 * 打印倒立半金字塔程序
* * * * *
* * * *
* * *
* *
*
源代码
#include <iostream>
using namespace std;
int main() {
int rows;
cout << "输入行数:";
cin >> rows;
for(int i = rows; i >= 1; --i) {
for(int j = 1; j <= i; ++j) {
cout << "* ";
}
cout << "\n";
}
return 0;
}
```# C++ 程序:使用数字打印倒立半金字塔
```cpp
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
源代码
#include <iostream>
using namespace std;
int main() {
int rows;
cout << "输入行数:";
cin >> rows;
for(int i = rows; i >= 1; --i)
{
for(int j = 1; j <= i; ++j)
{
cout << j << " ";
}
cout << endl;
}
return 0;
}
使用 * 和数字显示金字塔和倒立金字塔的程序
示例 6:使用 * 打印完整金字塔程序
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
源代码
#include <iostream>
using namespace std;
int main() {
int space, rows;
cout << "输入行数:";
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:使用数字打印金字塔程序
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
源代码
#include <iostream>
using namespace std;
int main() {
int rows, count = 0, count1 = 0, k = 0;
cout << "输入行数:";
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
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
源代码
#include <iostream>
using namespace std;
int main() {
int rows;
cout << "输入行数:";
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:打印帕斯卡三角形
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
源代码
#include <iostream>
using namespace std;
int main() {
int rows, coef = 1;
cout << "输入行数:";
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:打印弗洛伊德三角形
1
2 3
4 5 6
7 8 9 10
源代码
#include <iostream>
using namespace std;
int main() {
int rows, number = 1;
cout << "输入行数:";
cin >> rows;
for(int i = 1; i <= rows; i++) {
for(int j = 1; j <= i; ++j) {
cout << number << " ";
++number;
}
cout << endl;
}
return 0;
}