杨辉三角(等腰三角形输出&&头部对其输出)(C语言)

编程打印具有如下形式的杨辉三角形,其中输出数据的行数n从键盘输入,并且n<=10

程序运行结果示例1:

Input n (n<=10):

5↙

   1

   1   1

   1   2   1

   1   3   3   1

   1   4   6   4   1

​
#include<stdio.h>
void s(int a[10][10],int n);
int main()
{
	int n,a[10][10],i,j;
	printf("Input n (n<=10):\n");
	scanf("%d",&n);
	s(a,n);
	for(i=0;i<n;i++)
	{
		for(j=0;j<=i;j++)
		{
			printf("%4d",a[i][j]);
			if(j==i)
				printf("\n");
		}
	}
	return 0;
}
void s(int a[10][10],int n)
{
	int i,j;
	for(i=0;i<n;i++)
	{
		for(j=0;j<=i;j++)
		{
			if(j==0)
				a[i][j]=1;
			else if(i==1&&j==1)
				a[i][j]=1;
			else if(j==i)
				a[i][j]=1;
			else
				a[i][j]=a[i-1][j]+a[i-1][j-1];
		}
	}
}

​

有的提上要求输出的是“等腰三角形”,其实只要在输出格式上变形就可以    程序如下:

(只用在主函数中改,函数S不变)--(主函数改动如下)

#include<stdio.h>
void s(int a[10][10],int n);
int main()
{
	int n,a[10][10],i,j,k;
	printf("Input n (n<=10):\n");
	scanf("%d",&n);
	s(a,n);
	for(i=0;i<n;i++)
	{
		for(k=1;k<=n-i;k++)
		{
			    printf(" ");
		}
		for(j=0;j<=i;j++)
		{
			
			printf("%2d",a[i][j]);
			if(j==i)
				printf("\n");
		}
	}
	return 0;
}

希望对你有帮助

猜你喜欢

转载自blog.csdn.net/qq_44075791/article/details/86011110