杨辉三角形

题目编程印如下形式的杨辉三角形、打印的杨辉三角形的行数n (不超过15行)。要求由用户在主函数中通过键盘输入。请按照如下给定的函数原型进行编程。函数CaculateYH用于生成杨辉三角形,PrintYH用于打印杨辉三角形。给定的函数原型如下:

void CaculateYH(int a[][N],int n);

void PrintYH(int a[][N],int n);

**输人提示信息** :"Input n(n<15):\n"

**输入数据格式**:"%d"

**输出提示信息**:无

**输出数据格式**:"%5d"

杨辉三角形形式如下:

    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

    1    10    45   120   210   252   210   120    45    10     1


# include<stdio.h>
# define N 15
void CaculateYH(int a[][N],int n);
void PrintYH(int a[][N],int n);
int main ()
{
	int a[15][15]= {0};
	int n;
	printf("Input n(n<15):\n");
	scanf("%d",&n);
	CaculateYH(a, n);
	PrintYH(a, n);
}
void CaculateYH(int a[][N],int n)
{
	int i,j;
	for(i=0; i<n; i++)
		for(j=0; j<n; j++)
		{
			a[i][0]=1;
			if(i==j)
				a[i][j]=1;
		}
	for(i=2; i<15; i++)
		for(j=1; j<15; j++)
			a[i][j]=a[i-1][j]+a[i-1][j-1];
}
void PrintYH(int a[][N],int n)
{
	int i,j;
	for(i=0; i<n; i++)
	{
		for(j=0; j<n; j++)
			if(i>=j)
				printf("%5d ",a[i][j]);
		printf("\n");
	}
}

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

杨辉三角形

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭