求大神教我输出杨辉三角形,不知道怎么改

qilingji123 2011-11-11 12:13:11
#include<stdio.h>
int main()
{
int a[10][10],i,j;
a[0][0]=1
for(i=2;i<10;i++)
for(j=2;j<i;j++)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
printf("5%d",a[i][j]);
}
printf("\n");
return 0;
}
...全文
75 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
暖枫无敌 2011-11-11
  • 打赏
  • 举报
回复
主要思想是递归的应用,其他没有啥!

#include<stdio.h>
int main()
{
//参数为行数,想输入
Pascal(10);
}

int Combination(int m,int n)
{
if(n===0)
return 1; //每行第一个数为1
else if(m==n)
return 1; //最后一个数为1
else
return Combination(m-1,n-1)+Combination(m-1,n); //其余都是相加而来,利用递归
}

int Pascal(int n)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<=i;j++)
{
printf("5%d\t",Combination(i,j));
}
printf("\n");
}
}
jevin8011 2011-11-11
  • 打赏
  • 举报
回复
int a[10][10],i,j;
int entries;
a[0][0]=1;
for(i=2;i<10;i++)
{
for(j=2;j<i;j++)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
printf("5%d",a[i][j]);
}
printf("\n");
}
lr5420511 2011-11-11
  • 打赏
  • 举报
回复
楼主问错地方了
dalmeeme 2011-11-11
  • 打赏
  • 举报
回复
#include<stdio.h>
int main()
{
int a[10][10],i,j,k;
a[0][0]=a[1][0]=a[1][2]=1;
a[1][1]=2;
for (i=2;i<10;i++)
{
a[i][0]=a[i][i+1]=1;
for(j=1;j<=i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
printf(" %d\n",a[0][0]);
for(i=1;i<10;i++)
{
for(k=0;k<20-i*2+2;k++)
printf(" ");
for(j=0;j<i+2;j++)
printf("%4d",a[i][j]);
printf("\n");
}
return 0;
}
暖枫无敌 2011-11-11
  • 打赏
  • 举报
回复
更正一下方法的返回值

#include<stdio.h>
int main()
{
//参数为行数,想输入
Pascal(10);
}

int Combination(int m,int n)
{
if(n===0)
return 1; //每行第一个数为1
else if(m==n)
return 1; //最后一个数为1
else
return Combination(m-1,n-1)+Combination(m-1,n); //其余都是相加而来,利用递归
}

void Pascal(int n)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<=i;j++)
{
printf("5%d\t",Combination(i,j));
}
printf("\n");
}
}

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧