用c语言实现本题要求按照规定格式打印前N行杨辉三角。 输入格式: 输入在一行中给出N(1≤N≤10)。 输出格式: 以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。
时间: 2024-05-07 09:18:59 浏览: 100
c语言 打印杨辉三角
5星 · 资源好评率100%
以下是用C语言实现的代码:
```c
#include<stdio.h>
int main()
{
int n,i,j,a[11][11]={0};
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
if(j==1||j==i)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
printf("%4d",a[i][j]);
}
printf("\n");
}
return 0;
}
```
代码解释:
1. 先定义一个二维数组 a[11][11],用来存储杨辉三角中的数字。
2. 读入 n,表示要输出前 n 行杨辉三角。
3. 用两层循环输出杨辉三角,外层循环控制行数,内层循环控制列数。
4. 如果当前列数为 1 或者等于当前行数,那么当前数字就是 1。
5. 否则,当前数字就是上一行的左上角和右上角数字之和。
6. 输出每个数字时,用 `%4d` 控制输出格式,即每个数字占 4 个字符宽度,不足 4 个字符的在左侧用空格补齐。
7. 每输出完一行数字后,记得换行。
注意事项:
1. 数组大小要定义为 11,而不是 10,因为我们要输出的是前 n 行杨辉三角,而不是前 n-1 行。
2. 在输出每个数字时,记得用 `%4d`,而不是 `%d`,否则输出的杨辉三角可能不会对齐。
阅读全文