杨辉三角形
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
…..
算法:观察可知,杨辉三角形的第一列和对角线数值元素都为1,其他元素为它双肩上方两元素之和,可以设置一个二维数组来存放数据,如int a[][];
#define _CRT_SECURE_NO_DEPRECATE
#define N 10
#include <stdio.h>
int main()
{
int a[N][N] = { 0 };
printf("\n\n yanghuisanjiaoxing:\n\n");
int i = 0;
int j = 0;
for (i = 0; i < N; i++)/*数组赋值*/
{
for (j = 0; j <= i; j++)
{
if ( j==0|| i ==j)/*两边要用等号*/
a[i][j] = 1;/*第一列和对角线赋1*/
else
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
for (i = 0; i < N; i++)/*打印数组*/
{
for (j = 0; j>i; j--)
printf(" ");/*打印空格*/
for (j = 0; j <= i; j++)
printf("%6d ", a[i][j]);
printf("\n");
}
getchar();
return 0;
}