用c++数组写一个杨辉三角
时间: 2023-04-10 17:03:44 浏览: 110
以下是用 C 数组写一个杨辉三角的代码:
```
#include <stdio.h>
int main() {
int rows, coef = 1;
printf("请输入要打印的行数:");
scanf("%d", &rows);
for (int i = 0; i < rows; i++) {
for (int space = 1; space <= rows - i; space++) {
printf(" ");
}
for (int j = 0; j <= i; j++) {
if (j == 0 || i == 0) {
coef = 1;
} else {
coef = coef * (i - j + 1) / j;
}
printf("%4d", coef);
}
printf("\n");
}
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++的数组来编译一个杨辉三角,要怎么编程
可以使用二维数组来编译杨辉三角。具体步骤如下:
1. 定义一个二维数组并初始化为0,数组大小为n x n(n为杨辉三角的行数)。
```
int n = 5;
int pascal[n][n] = {0};
```
2. 将第一列和对角线上的元素赋值为1。
```
for (int i = 0; i < n; i++) {
pascal[i][0] = 1;
pascal[i][i] = 1;
}
```
3. 计算其余元素的值。根据杨辉三角的性质,第i行第j列的元素等于第i-1行第j-1列和第i-1行第j列的元素之和。
```
for (int i = 2; i < n; i++) {
for (int j = 1; j < i; j++) {
pascal[i][j] = pascal[i-1][j-1] + pascal[i-1][j];
}
}
```
4. 输出杨辉三角。
```
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
cout << pascal[i][j] << " ";
}
cout << endl;
}
```
完整代码示例:
```c++
#include <iostream>
using namespace std;
int main() {
int n = 5;
int pascal[n][n] = {0};
for (int i = 0; i < n; i++) {
pascal[i][0] = 1;
pascal[i][i] = 1;
}
for (int i = 2; i < n; i++) {
for (int j = 1; j < i; j++) {
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++) {
cout << pascal[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
阅读全文