在屏幕上打印杨辉三角

杨辉三角如下所示:

   0  1   2    3    4    5    6

0 1
1 1  1
2 1  2   1
3 1  3   3   1
4 1  4   6   4    1
5 1  5  10  10  5    1
6 1  6  15  20  15  6   1

创建一个二维数组,用二维数组的下标表示杨辉三角中每个数字的坐标

从第2行第1列的数字开始,利用下面的代码实现,将该数字上一行的两个数字之和赋值给该数

 

arr[i][j]= arr[i - 1][j - 1] + arr[i - 1][j];

而第0行和第1行以及每一行最后的一个数字1用简单的赋值语句实现 

arr[0][0] = 1;//输出最最上角的1
	printf("%d\n", arr[0][0]);
	arr[1][0] = arr[1][1] = 1;//第二行的两个1
	printf("%d   %d\n", arr[1][0], arr[1][1]);

if (i == j)//打印每一行的最后一个1
			arr[i][j] = 1;
		printf("%2d\n",arr[i][j]);

整体代码如下:

#include<stdio.h>
#include<stdlib.h>
#define high 10
int main(){
	int i, j;
	int arr[10][10] = { 0 };
	arr[0][0] = 1;//输出最最上角的1
	printf("%d\n", arr[0][0]);
	arr[1][0] = arr[1][1] = 1;//第二行的两个1
	printf("%d   %d\n", arr[1][0], arr[1][1]);
	for (i = 2; i < 10; i++){   //从第二行开始,数字开始有有规律的变化0
		arr[i][0] = 1;
		printf("%d  ", arr[i][0]);
		for (j = 1; j < i; j++){
			arr[i][j]= arr[i - 1][j - 1] + arr[i - 1][j];//将该数上一行的前一列和该列的和赋值给该数
			printf("%2d  ", arr[i][j]);
		}
		if (i == j)//打印每一行的最后一个1
			arr[i][j] = 1;
		printf("%2d\n",arr[i][j]);
	}
			system("pause");
	return 0;
}

.打印结果如图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值