[C语言]杨辉三角

[C语言]杨辉三角,第1张

 第j个数等于arr[j]+arr[j-1],图中打印的数是参考上一行的数组arr得到的。


#include
int main()
{
	int arr[1000] = { 1 };//存着上一行的数
	int tmp[1000] = { 0 };//作为临时数组储存当前打印的这一行
	int n = 0;
	scanf("%d", &n);//输入打印几行,因为数组长度是1000,n<1000.
	for (int i = 1; i <= n; i++)//i表示第几行
	{
		for (int j = 1; j <= i; j++)//j表示打印这一行的第几个
		{
			printf("%-5d ", arr[j] + arr[j - 1]);
			tmp[j] = arr[j] + arr[j - 1];
		}
		for (int j = 0; j <= i; j++)
		{
			arr[j] = tmp[j];
		}
		printf("\n");
	}
	return 0;
}

百度有最优解,但是我看不懂....

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/578239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存