用二维数组打印杨辉三角c++
时间: 2023-12-17 18:26:41 浏览: 25
以下是用二维数组打印杨辉三角的C++代码:
```c++
#include <iostream>
using namespace std;
int main() {
int num[10][10] = {0};
int i = 0, j = 0;
for (i = 0; i < 10; i++) {
num[i][0] = 1; // 把每行的第1位值赋值为1;
num[i][i] = 1; // 把右边对角线的值全部赋值为1;
}
for (i = 2; i < 10; i++) { // 观察杨辉三角的图,可得出这么一个规律,除了第一行第一列的值之外,其他的值都是上一行的左右两个值之和;所以从第二行开始运算
for (j = 1; j < i; j++) {
num[i][j] = num[i - 1][j] + num[i - 1][j - 1];
}
}
for (i = 0; i < 10; i++) {
for (j = 0; j < 9 - i; j++) {
cout << " ";
}
for (j = 0; j <= i; j++) {
cout << num[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
相关问题
用c++二维数组求杨辉三角
以下是使用C++二维数组求杨辉三角的代码:
```cpp
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "请输入杨辉三角的行数:";
cin >> n;
int a[n][n];
// 初始化第一行和对角线上的元素为1
for (int i = 0; i < n; i++) {
a[i][0] = 1;
a[i][i] = 1;
}
// 计算其余元素
for (int i = 2; i < n; i++) {
for (int j = 1; j < i; j++) {
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
// 输出杨辉三角
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
运行结果:
```
请输入杨辉三角的行数:6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
```
利用二维数组实现杨辉三角形的输出c++
好的,我可以回答这个问题。下面是利用二维数组实现杨辉三角形的输出的c代码:
```
#include <stdio.h>
void print_pascal(int n)
{
int pascal[n][n];
for(int i = 0; i < n; i++)
{
for(int j = 0; j <= i; j++)
{
if(j == 0 || j == i)
{
pascal[i][j] = 1;
}
else
{
pascal[i][j] = pascal[i-1][j-1] + pascal[i-1][j];
}
}
}
for(int i = 0; i < n; i++)
{
for(int j = 0; j <= i; j++)
{
printf("%d ", pascal[i][j]);
}
printf("\n");
}
}
int main()
{
int n;
printf("请输入杨辉三角的行数:");
scanf("%d", &n);
print_pascal(n);
return 0;
}
```
希望能解决您的问题。