C语言:打印出杨辉三角形(要求打印出10行如下图)(用数组)
1个回答
展开全部
#include<stdio.h>
void fun(int a[][34],int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<=i;j++)
{
if(i==j)
a[i][j]=1;
else if(j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
int main()
{
int i,j,k,n;
int a[34][34];
k=1;
while(scanf("%d",&n)==1) // 输入你要显示的行数,如1,2,3,4,...
{
fun(a,n);
printf("Case %d:\n",k++);
for(i=0;i<n;i++)
{
for (j = 0; j < n - i; j ++)
printf(" ");
for(j=0;j<=i;j++)
{
if(j==i)
printf("%d",a[i][j]);
else
printf("%d ",a[i][j]);
}
printf("\n");
}
printf("\n");
}
return 0;
}
void fun(int a[][34],int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<=i;j++)
{
if(i==j)
a[i][j]=1;
else if(j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
int main()
{
int i,j,k,n;
int a[34][34];
k=1;
while(scanf("%d",&n)==1) // 输入你要显示的行数,如1,2,3,4,...
{
fun(a,n);
printf("Case %d:\n",k++);
for(i=0;i<n;i++)
{
for (j = 0; j < n - i; j ++)
printf(" ");
for(j=0;j<=i;j++)
{
if(j==i)
printf("%d",a[i][j]);
else
printf("%d ",a[i][j]);
}
printf("\n");
}
printf("\n");
}
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询