用c++二维数组输出三角形
时间: 2024-09-30 21:06:01 浏览: 45
在C++中,我们可以使用二维数组来打印出各种形状,包括三角形。下面是一个简单的示例,展示如何使用二维字符数组来打印一个等腰直角三角形:
```cpp
#include <iostream>
using namespace std;
// 定义一个函数打印三角形
void printTriangle(int rows) {
// 创建一个二维字符数组,用于存储星号字符
char triangle[rows][rows];
// 初始化第一行
for (int i = 0; i < rows; i++) {
triangle[i][i] = '*';
}
// 打印三角形
for (int i = 0; i < rows; i++) {
for (int j = 0; j <= i; j++) { // 注意这里是从0到i而不是到rows-1
cout << triangle[i][j];
}
cout << endl;
}
}
int main() {
int rows;
cout << "请输入三角形的行数: ";
cin >> rows;
printTriangle(rows);
return 0;
}
```
相关问题
用c++语法写出二维数组杨辉三角形
好的,以下是用 C 语法写的杨辉三角形二维数组:
```
#include<stdio.h>
int main()
{
int rows, coef = 1;
printf("Enter number of rows: ");
scanf("%d",&rows);
for(int i=0;i<rows;i++)
{
for(int j=0;j<=i;j++)
{
if (j==0 || i==0)
coef = 1;
else
coef = coef*(i-j+1)/j; // Using Pascal's Formula
printf("%d ",coef);
}
printf("\n");
}
return 0;
}
```
以上代码可以输出指定行数的杨辉三角形二维数组。
C++实现-用二维数组输出杨辉三角
在C++中,我们可以使用嵌套循环和动态内存分配来打印杨辉三角。杨辉三角是一个数学术语,每一行都是一个等差数列,每个数字等于它上方两个数字之和。下面是简单的代码示例:
```cpp
#include <iostream>
using namespace std;
// 动态创建二维数组
int** createTriangle(int size) {
int** triangle = new int*[size];
for (int i = 0; i < size; ++i) {
triangle[i] = new int[i + 1]; // 每一行元素个数比上一行多1
triangle[i][0] = triangle[i][i] = 1; // 边界条件,第一行和对角线全为1
}
return triangle;
}
// 打印杨辉三角
void printTriangle(int** triangle, int size) {
for (int i = 0; i < size; ++i) {
for (int j = 0; j <= i; ++j) {
cout << triangle[i][j] << " ";
}
cout << endl;
}
delete[] triangle[0]; // 删除每行最后一个元素所指向的空间
for (int i = 1; i < size; ++i) {
delete[] triangle[i]; // 删除所有行的元素空间
}
delete[] triangle; // 删除二维数组本身
}
int main() {
int size = 5; // 设置三角形大小
int** triangle = createTriangle(size);
printTriangle(triangle, size);
return 0;
}
```
阅读全文