问题:输入以下的杨辉三角形(要求输出10行)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
…
一:程序设计
#include <stdio.h>
void main()
{
int a[10][10];
int i, j;
int len1 = sizeof(a) / sizeof(a[0]);
int len2 = sizeof(a[0]) / sizeof(a[0][0]);
a[0][0] = 1; //把1赋给a[0][0]
for (i = 0; i < len1; i++)
{
a[i][0] = a[0][0]; //根据题目中杨辉三角的例子可以得出a[i][0]=a[0][0]
for(j=0;j<=i;j++)
{
if (i == j)
{
a[i][j] = a[0][0]; //同样规律当i=j时,a[i][j]=a[0][0]
}
else if(i>=1&&j>=1) //除a[i][0]和i=j时a[i][j]之外的a[i][j]若满足此条件,执行下一语句
{
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
}
for (i = 0; i < len1; i++)
{
for (j = 0; j <=i; j++)
{
printf("%-6d", a[i][j]); //循环输出所求的a[i][j]
}
puts(" ");
}
}
二:结果展示

杨辉三角形
最新推荐文章于 2022-04-08 17:42:47 发布
本文介绍了一种使用C语言编程实现杨辉三角形的方法。通过定义二维数组存储每行的数据,利用杨辉三角的数学特性填充数组,并最终打印出前10行的杨辉三角形。该程序首先初始化数组的第一行,然后根据杨辉三角形的规则填充后续行。
849

被折叠的 条评论
为什么被折叠?



