c++输出n行n列的空心倒三角星号*方阵
时间: 2023-12-30 20:06:57 浏览: 48
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入方阵的行数:");
scanf("%d", &n);
for (int i = n; i >= 1; i--) {
for (int j = 1; j < i; j++) {
printf(" ");
}
printf("*");
for (int k = 1; k <= 2 * (n - i) - 1; k++) {
printf(" ");
}
if (i != 1) {
printf("*");
}
printf("\n");
}
return 0;
}
```
希望能够满足你的要求!
相关问题
n行n列顺时针螺旋方阵c++
下面是一个实现 n 行 n 列顺时针螺旋方阵的 C++ 代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
vector<vector<int>> spiralOrder(int n) {
vector<vector<int>> res(n, vector<int>(n));
int top = 0, bottom = n - 1, left = 0, right = n - 1;
int num = 1;
while (top <= bottom && left <= right) {
for (int j = left; j <= right; j++) {
res[top][j] = num++;
}
top++;
for (int i = top; i <= bottom; i++) {
res[i][right] = num++;
}
right--;
if (top <= bottom) {
for (int j = right; j >= left; j--) {
res[bottom][j] = num++;
}
bottom--;
}
if (left <= right) {
for (int i = bottom; i >= top; i--) {
res[i][left] = num++;
}
left++;
}
}
return res;
}
int main() {
int n = 4;
vector<vector<int>> res = spiralOrder(n);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << res[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
该算法使用了四个指针来控制螺旋方阵的遍历顺序,具体实现可以参考代码注释。
c++倒三角星号列阵
以下是两种C++倒三角星号列阵的例子:
1. 使用三个for循环语句输出倒三角星号列阵:
```cpp
#include <iostream>
using namespace std;
int main() {
for (int i = 9; i >= 1; i--) {
for (int j = 1; j <= 9 - i + 1; j++) {
cout << " ";
}
for (int k = 1; k <= 2 * i - 1; k++) {
cout << "*";
}
cout << endl;
}
system("pause");
return 0;
}
```
2. 使用四个for循环语句输出倒三角星号列阵:
```cpp
#include <iostream>
using namespace std;
int main() {
for (int i = 10; i <= 19; i++) {
for (int j = 0; j <= i - 10; j++) {
cout << " ";
}
for (int k = 1; k <= 2 * (19 - i) - 1; k++) {
cout << "*";
}
cout << endl;
}
system("pause");
return 0;
}
```