c++输出一个由*构成的n行n列的空心的阵列。最后一行结束完要换行。
时间: 2024-10-15 18:23:49 浏览: 42
在 C++ 中,为了输出一个 n 行 n 列的空心矩阵,你可以利用两个嵌套循环。内层循环负责打印星号(*),外层循环控制每一行的输出。当达到中心位置时,可以跳出内层循环来形成空心效果。下面是代码示例:
```cpp
#include <iostream>
using namespace std;
void print_hollow_array(int n) {
for (int i = 0; i < n; ++i) {
// 对于奇数行
if (i % 2 == 0) {
// 打印左边界
for (int j = 0; j < i; ++j) {
cout << "* ";
}
// 输出中间的部分,跳过中心
if (i > 1 && i < n - 1) {
cout << " ";
} else if (i == 1 || i == n - 1) { // 如果是边界
cout << "* ";
}
// 打印右边界
for (int j = i + 1; j < n; ++j) {
cout << "* ";
}
}
// 对于偶数行
else {
// 打印左右两边,跳过中心
for (int j = 1; j < n - 1; ++j) {
cout << "* ";
}
}
// 每一行结束后换行
cout << endl;
}
}
int main() {
int n = 5;
print_hollow_array(n);
return 0;
}
```
当你运行这段代码,例如对于 `n=5`,你会看到类似这样的输出:
```
* * *
*
* * * *
*
* * * * *
```
如果你想更改矩阵的大小,只需要更改 `n` 的值即可。
阅读全文