杨辉三角
杨辉三角是一个很经典的一个算法,学习算法的都会接触到杨辉三角,有的人在高中时期就会有所接触,更有甚者有的人在初中时期就接触到了杨辉三角,那么今天就来来分享一下杨辉三角的算法:
int main()
{
int n ;
printf("请输入杨辉三角的层数:\n");
scanf("%d",&n);
int a[n][n];
for(int x=0;x<=n;x++){
//for 将第一列和最后一列都赋值为1
a[x][0]=1;
a[x][x]=1;
}
for(int x=2;x<n;x++){
for(int y=1;y<x;y++){
a[x][y]=a[x-1][y-1]+a[x-1][y];//前一行 前一列 和当前列相加 该列的数据
}
}
for(int x=0;x<n;x++)
{ for(int j=1;j<3*n-x;j++)printf(" ");//打印空格
for(int y=0;y<=x;y++){//for 输出杨辉三角
{printf("%2d ",a[x][y]);
}
}
printf("\n");//换行
}
}
在这里插入代码片
该算法是在dev-c++上面编译成功的,如果是要在Visual c++6.0上面运行的话就需要自己重新定义一下数组、x,y.