谭浩强C++课后习题41——打印由字母组成的三角形
题目描述:编写程序,在显示屏上显示一个由字母B组成的三角形。
解题思路:解决此题的关键在于找出每一行中字符B的个数和前面空格数与行号的关系。找规律得知:第n行前面有20-n个空格,后面有2*n-1个B。
法一:用循环依次输出每个字符。
#include<iostream>
using namespace std;
int main() {
for (int i = 1;i <= 8;i++) {
for (int j = 1;j <= 20 - i;j++) {
cout << " ";
}
for (int k = 1;k <= 2 * i - 1;k++) {
cout << "B";
}
cout << endl;
}
return 0;
}
法二:用输出控制符输出。
#include<iostream>
#include<iomanip>
using namespace std;
int main() {
for (int i = 1;i <= 8;i++) {
cout << setw(20 - i) << setfill(' ') << " " << setw(2 * i - 1) << setfill('B') << "B" << endl;
}
return 0;
}
运行测试结果: