用C语言中的for循环打印杨辉三角
时间: 2024-05-04 08:17:53 浏览: 10
以下是用C语言中的for循环打印杨辉三角的代码:
```c
#include <stdio.h>
int main() {
int n, i, j, c = 1;
printf("Enter the number of rows:\n");
scanf("%d", &n);
for (i = 0; i < n; i++) {
for (j = 0; j <= i; j++) {
if (j == 0 || i == 0) {
c = 1;
} else {
c = c * (i - j + 1) / j;
}
printf("%d ", c);
}
printf("\n");
}
return 0;
}
```
运行结果如下:
```
Enter the number of rows:
5
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
其中,变量n表示要打印的杨辉三角的行数,变量i和j表示当前打印的行和列,变量c表示当前打印位置上的数字。在每一行的循环中,如果当前打印的是第一列或者第一行,那么这个位置上的数字就是1,否则就根据上一行和上一列的数字计算出当前位置上的数字。最后通过printf函数打印出每个位置上的数字即可。
相关问题
C语言For循环输出杨辉三角
### 回答1:
可以用C语言的for循环语句输出杨辉三角,代码如下:
```
#include <stdio.h>
int main()
{
int i, j, rows, coef = 1;
printf("请输入要输出的行数:");
scanf("%d", &rows);
for (i = 0; i < rows; i++)
{
for (j = 0; j <= i; j++)
{
if (j == 0 || i == 0)
coef = 1;
else
coef = coef * (i - j + 1) / j;
printf("%d ", coef);
}
printf("\n");
}
return 0;
}
```
运行该程序,输入要输出的行数,即可输出相应行数的杨辉三角。
### 回答2:
杨辉三角是一个数学概念,它的特点是每个位置的数字是上方两数之和。要用C语言的for循环输出杨辉三角,可以使用二维数组来存储和输出。
首先,我们先定义一个整数n来表示杨辉三角的行数,并创建一个二维数组来存储杨辉三角的数字。
然后,我们使用两个for循环来遍历每一行和每一列,并使用条件判断语句来计算每个位置的数字。在每一行循环开始前,我们先输出一定数量的空格,使杨辉三角呈现出直角形状。在每个位置循环内部,我们使用if条件判断来确定数字的计算方式。
最后,输出整个二维数组,即可得到杨辉三角的形态。
以下是一种可能的实现代码:
```
#include <stdio.h>
#define MAX_ROW 10 // 定义杨辉三角的最大行数
int main() {
int triangle[MAX_ROW][MAX_ROW] = {0}; // 存储杨辉三角的二维数组
int i, j;
int n;
printf("请输入杨辉三角的行数:");
scanf("%d", &n);
for (i = 0; i < n; i++) {
for (j = 0; j <= i; j++) {
if (j == 0 || j == i) {
triangle[i][j] = 1;
} else {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
printf("%d ", triangle[i][j]);
}
printf("\n");
}
return 0;
}
```
运行程序后,输入一个数值作为杨辉三角的行数,程序将会输出对应行数的杨辉三角形。
### 回答3:
杨辉三角是一个经典的数学图形,可以使用C语言的for循环来输出。下面是一段简单的代码示例,实现了使用for循环输出一个指定行数的杨辉三角:
```c
#include <stdio.h>
void printPascalTriangle(int numRows) {
int triangle[numRows][numRows];
for (int i = 0; i < numRows; i++) {
for (int j = 0; j <= i; j++) {
if (i == j || j == 0) {
triangle[i][j] = 1;
} else {
triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j];
}
printf("%d ", triangle[i][j]);
}
printf("\n");
}
}
int main() {
int numRows;
printf("请输入杨辉三角的行数:");
scanf("%d", &numRows);
printPascalTriangle(numRows);
return 0;
}
```
在该示例中,首先定义了一个二维数组`triangle`用来存储杨辉三角的数值。通过嵌套的两个for循环,我们遍历每一行的每一个数字,并根据杨辉三角的规律计算出正确的数值。其中,`triangle[i][j]`表示第i行、第j列的数字。
如果当前的数字是行首或行尾的数字,它们均为1;其他位置的数字可以通过上一行的相邻两个数字相加得到。随后,我们使用`printf`函数将每个数字输出,每行结束后再输出一个换行符。
在程序的主函数中,我们首先通过`scanf`函数获取用户输入的行数,并将其作为参数传递给`printPascalTriangle`函数。这样,就可以根据用户的输入输出对应行数的杨辉三角。
c语言用自定义函数打印杨辉三角
好的,以下是用 C 语言编写的自定义函数打印杨辉三角的代码:
```c
#include <stdio.h>
// 自定义函数打印杨辉三角
void printYangHuiTriangle(int n) {
int i, j;
int arr[n][n]; // 定义一个二维数组存放杨辉三角的数值
// 初始化数组
for(i = 0; i < n; i++) {
for(j = 0; j <= i; j++) {
if(j == 0 || j == i) {
arr[i][j] = 1;
}
else {
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
}
// 打印杨辉三角
for(i = 0; i < n; i++) {
for(j = 0; j <= i; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
int main() {
int n;
printf("请输入杨辉三角的行数:");
scanf("%d", &n);
printYangHuiTriangle(n);
return 0;
}
```
在 main 函数中,我们首先通过 scanf 函数获取用户输入的杨辉三角的行数,然后将这个值传入自定义函数 printYangHuiTriangle 中。在自定义函数中,我们首先定义一个二维数组来存放杨辉三角的数值。接着,我们通过两层循环来遍历这个数组,计算每个位置上的数值,并将其打印出来。最终得到的输出就是杨辉三角。