(算法练习)杨辉三角

要求:
http://codeup.cn/problem.php?cid=100000569&pid=2

代码:
开始想用找规律输出,未果,于是把前10行都写到数组里面= =,虽然也通过了

#include <stdio.h>
int main(){
	int str[10][10] ={{1},{1,1},{1,2,1},{1,3,3,1},{1,4,6,4,1},{1,5,10,10,5,1},{1,6,15,20,15,6,1},{1,7,21,35,35,21,7,1},{1,8,28,56,70,56,28,8,1},{1,9,36,84,126,126,84,36,9,1}};
	int n;
	scanf("%d",&n);
	for(int i = 0;i <= n - 1;i++){
		for(int j = 0;j <= i;j++){
			printf("%d ",str[i][j]);
		}
		printf("\n");
		
	} 
}

后面网上查了下,发现是可以规律输出的,之前没处理好a[i][0] = 1;a[i][i] = 1;
代码如下:

#include <stdio.h>
int main(){
	int a[10][10];
	for(int i = 0;i <= 9;i++){
		a[i][0] = 1;
		a[i][i] = 1;
		for(int j = 1;j < i;j++){
			a[i][j] = a[i-1][j-1] + a[i-1][j];
		}
	}
	int n;
	scanf("%d",&n);
	for(int i = 0;i <=n - 1;i++){
		for(int j = 0;j <= i;j++){
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值