/*等腰的杨辉三角*/
#include<stdio.h>
main(){
int n;
printf("请输入打印的行数:");
scanf("%d",&n);
printf("%d行打印的杨辉三角如下:\n",n);
/*定义一个n行n列的二维数组a*/
int a[n][n];
int i,j,k;
for(i=0;i<n;i++){
/*每次打印都在前边打印上三个空格*/
for(k=0;k<n-i;k++){
printf(" ");
}
/*因为打印的是直角形状的,所以横坐标都大于等于列坐标j<=i*/
for(j=0;j<=i;j++){
/*杨辉三角规定,当列坐标等于0或者行坐标和列坐标相等时,值为1*/
if(j==0||j==i){
a[i][j]=1;
}else{
/*除了上边的情况就是当前位置的数值=当前位置前一行的值+当前位置前一行前一列的值*/
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
printf("%6d",a[i][j]);
}
printf("\n");
}
}
C语言|等腰杨辉三角
最新推荐文章于 2024-01-24 02:46:21 发布