输出杨辉三角形(要求输出10行)

时间:2025-04-22 17:06:34

要输出杨辉三角形肯定要明白怎么定义和赋值,要定义和赋值肯定要先找到其中的规律。 主要发现三个规律:
①杨辉三角形可以用数组表示,发现第一行只有一列,第二行有两列,第三行有三列,类推第十行有十列。可以用a[9][9]表示。
②分别用i,j来表示数组的下标,a[i][j]。当j=0时,a[i][0]=1;当j=i时,a[i][j]=1,即对角线均为1.
③从第三行开始,即a[2]开始,中间的元素等于其上一行上一列与其上一行同一列的元素之和。即a[i][j]=a[i-1][j-1]+a[i-1][j]。
数组构建好了。那么接下来该如何输出呢?如何输出其实是考虑如何准确输出多少行多少列,如何准确输出每行每列的元素的问题。共10行10列(数组是0-9)。每行最后一个元素都在对角线上,即两个循环,一个循环(i<10)控制行数,一个循环(j<=i)刚好控制每行元素个数和列数。同时,涉及到格式问题:即当某行的i=j时,该行结束,另起一行(‘“\n”)。

#include<>
int main()
{
	int a[10][10];
	int i,j;
	//给元素赋值
	for(i=0;i<10;i++)
	{
		for(j=0;j<=i;j++)
		{
			if(j==0)
			{a[i][j]=1;}
			else if(i==j)
			{a[i][j]=1;}
			else
			{a[i][j]=a[i-1][j-1]+a[i-1][j];}
		}
	}
	//输出该数组
	for(i=0;i<10;i++)
	{
		for(j=0;j<=i;j++)
		{
			printf("%d ",a[i][j]);
			if(i==j)
			{puts("\n");}
		}
	}


	return 0;
}

相关文章