编写程序,实现右直角或等腰三角形显示的九九乘法表。
时间: 2024-10-19 09:04:54 浏览: 27
为了实现九九乘法表并呈现出右直角或等腰三角形的效果,我们可以使用嵌套循环打印乘法结果。这里我们先介绍如何打印传统的乘法表,然后稍作调整即可得到右直角或等腰三角形。
**传统九九乘法表:**
```cpp
#include <iostream>
void printMultiplicationTable() {
for(int i = 1; i <= 9; ++i) {
for(int j = 1; j <= i; ++j) {
std::cout << i << " * " << j << " = " << i*j << "\t";
}
std::cout << "\n"; // 换行
}
}
int main() {
printMultiplicationTable();
return 0;
}
```
运行这段代码,你会看到一个完整的九九乘法表。
**右直角三角形九九乘法表(逆序输出):**
要形成右直角三角形,我们需要倒序输出乘积,并在每个数后面添加制表符(`\t`)来对齐。我们将内部循环从 `i` 到 `1` 变为 `i` 到 `9-i+1`。
```cpp
#include <iostream>
void printRightTriangleMultiplicationTable() {
for(int i = 1; i <= 9; ++i) {
for(int j = 9 - i + 1; j >= 1; --j) {
std::cout << i << " * " << j << " = " << i*j << "\t";
}
std::cout << "\n";
}
}
int main() {
printRightTriangleMultiplicationTable();
return 0;
}
```
**等腰三角形九九乘法表:**
如果你想形成等腰三角形,外部循环的起始值可以从 `1` 开始到 `5`,因为最大的乘积 `9*9=81` 将被放在中间一行。内部循环则需要调整为递增和递减两种情况。
```cpp
#include <iostream>
void printIsoscelesTriangleMultiplicationTable() {
for(int i = 1; i <= 5; ++i) {
int start = (9 - i * 2) + 1;
for(int j = start; j <= i; ++j) {
std::cout << i << " * " << j << " = " << i*j << "\t";
}
std::cout << "\n";
if(i != 1 && i != 5) { // 中间两行不需要换方向
for(int k = i - 1; k >= start; --k) {
std::cout << i << " * " << k << " = " << i*k << "\t";
}
std::cout << "\n";
}
}
}
int main() {
printIsoscelesTriangleMultiplicationTable();
return 0;
}
```
现在你可以根据需求选择上述其中一个函数来生成所需的九九乘法表。如果你有其他疑问,请随时提问。
阅读全文