哪位大神帮一下忙,感激不尽。用c语言打印杨辉三角,要求:函数调用
3个回答
展开全部
楼上已经给出了答案,原来不是函数调用啊!所以楼主没采纳!
下面这个是我改了下!
#include <stdio.h>
void main()
{
void f(int n);
int n=0;
while(n<1 || n>16)
{
printf("请输入杨辉三角形的行数:");
scanf("%d",&n);
}
f(n);
}
void f(int n)
{
int i,j,a[17][17]={0};
for(i=0;i<n;i++)
a[i][0]=1;
for(i=1;i<n;i++)
for(j=1;j<=i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
还有要求的话,就尽快题。楼主,端午快乐!
展开全部
#include <stdio.h>
main()
{ int i,j,n=0,a[17][17]={0};
while(n<1 || n>16)
{ printf("
请输入杨辉三角形的行数
:");
scanf("%d",&n);
}
for(i=0;i<n;i++)
a[i][0]=1; /*第一列全置为一*/
for(i=1;i<n;i++)
for(j=1;j<=i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j]; /*每个数是上面两数之和*/
for(i=0;i<n;i++) /*输出杨辉三角*/
{ for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
main()
{ int i,j,n=0,a[17][17]={0};
while(n<1 || n>16)
{ printf("
请输入杨辉三角形的行数
:");
scanf("%d",&n);
}
for(i=0;i<n;i++)
a[i][0]=1; /*第一列全置为一*/
for(i=1;i<n;i++)
for(j=1;j<=i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j]; /*每个数是上面两数之和*/
for(i=0;i<n;i++) /*输出杨辉三角*/
{ for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
追答
#include
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");
}
getch();
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-12
展开全部
#include<stdio.h>
int a[50][50];
void yh(int n)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
if(i==j||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
}
void main()
{
int i,j,n;
scanf("%d",&n);
yh(n);
for(i=0;i<n;i++)
{
for(j=n;j>=i;j--)
printf("%2c",' ');
for(j=0;j<=i;j++)
{
printf("%5d ",a[i][j]);
if(i==j)
printf("\n");
}
}
}
int a[50][50];
void yh(int n)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
if(i==j||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
}
void main()
{
int i,j,n;
scanf("%d",&n);
yh(n);
for(i=0;i<n;i++)
{
for(j=n;j>=i;j--)
printf("%2c",' ');
for(j=0;j<=i;j++)
{
printf("%5d ",a[i][j]);
if(i==j)
printf("\n");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询