c 语言输出杨辉三角形
时间: 2023-07-02 11:19:38 浏览: 42
好的,以下是一个输出杨辉三角形的 C 语言程序:
```c
#include <stdio.h>
int main() {
int rows, coef = 1;
printf("Enter the number of rows: ");
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;
}
```
运行该程序,输入所需的行数即可输出对应行数的杨辉三角形。
相关问题
j ava 输出杨辉三角形
在Java中,我们可以利用递归的方式来打印出杨辉三角形。杨辉三角是一个数学术语,它是一个二维数组,每个数字是上一行两个数字之和,从0行开始,每一行都是前一行的连续数加上当前行的位置数。以下是简单的Java代码示例:
```java
public class YangHuiTriangle {
public static void print(int n) {
for (int i = 0; i < n; i++) {
// 打印空格填充
for (int j = 0; j < n - i - 1; j++)
System.out.print(" ");
// 打印当前行的数字
for (int k = 0; k <= i; k++) {
System.out.print(binomialCoefficient(i, k) + " ");
}
// 换行
System.out.println();
}
}
// 计算组合数(杨辉三角的元素)
private static int binomialCoefficient(int n, int k) {
if (k == 0 || k == n)
return 1;
else
return binomialCoefficient(n - 1, k - 1) + binomialCoefficient(n - 1, k);
}
public static void main(String[] args) {
int rows = 5; // 指定打印几行
print(rows);
}
}
```
在这个例子中,`print()`函数负责控制行数,而`binomialCoefficient()`用于计算杨辉三角的元素。运行这个程序将输出指定行数的杨辉三角。
j ava打印杨辉三角形
在Java中,我们可以使用递归的方式来打印杨辉三角形。杨辉三角是一个数学术语,每个数字由它上面两个数字相加得到,通常呈现为一个倒置的金字塔形状。下面是一个简单的递归函数示例:
```java
public class PascalTriangle {
public static void printPascalTriangle(int n) {
for (int i = 0; i < n; i++) {
// 打印前导空格
for (int j = 0; j < n - i - 1; j++) {
System.out.print(" ");
}
// 初始化当前行的第一个数字
int currentNumber = 1;
// 计算并打印每一列的数字
for (int k = 0; k <= i; k++) {
System.out.print(currentNumber + " ");
// 更新当前数字
currentNumber = factorial(i - k) / (factorial(k) * factorial(i - k - 1));
}
System.out.println(); // 换行开始下一行
}
}
// 计算阶乘,用于计算杨辉三角的值
private static int factorial(int num) {
if (num == 0 || num == 1) {
return 1;
} else {
return num * factorial(num - 1);
}
}
public static void main(String[] args) {
int rows = 5;
printPascalTriangle(rows);
}
}
```
在这个例子中,`printPascalTriangle`函数会打印指定行数的杨辉三角,`factorial`函数则用于计算阶乘。运行这个程序,可以得到前五行的杨辉三角。
阅读全文