10、杨辉三角形

10、杨辉三角形

要求: 编写程序输出以下杨辉三角形(n=8)
在这里插入图片描述
拓展: 输出等腰杨辉三角形

#include <stdio.h>
int main(){
	int i, j, a[8][8];
	for (i=0; i<8; i++){
		a[i][i]=1;					//斜边上全为1 
    	a[i][0]=1;					//第0列全为1 
    }
    
  	for (i=2; i<8; i++){ 			//从第2行第1列开始,有数字是其两肩的数的和,所以i=2,j=1 
    	for (j=1; j<=i-1; j++){		//第2行有一个数其是两肩的数的和,第3行有2个数...第i行有i-1个数...所以为j<=i-1
			a[i][j] = a[i-1][j-1]+a[i-1][j];
		} 
  	}
	 
	for (i=0;i<8;i++){
		for (j=0;j<=i;j++)
       		printf("%3d",a[i][j]);
     		printf("\n");
    }
/*
	完成拓展则需要:
	1添加用户自定义n大小的语句:加scanf,将程序中所有的8改为n
	2修改输出语句:添加空格输出
	
	for(i=0; i<n; i++){
		for(j=n-1-i; j>0; j--){		//观察等腰杨辉三角形可知:第0行输出n-1-0个'空格',第1行输出n-1-1个...第n-1行输出n-1-(n-1)个,所以j=n-1-i,j>0 
			printf("   ");
		}
		for(j=0; j<=i; j++){
			printf("%3d   ", a[i][j]);
		}
		printf("\n");
	}
*/ 
  return 0;
}
发布了16 篇原创文章 · 获赞 0 · 访问量 322

猜你喜欢

转载自blog.csdn.net/NAU_LHT/article/details/104169827