当前位置: 代码迷 >> C语言 >> [求助]为什么我编的实现扬辉三角的程序实现不了的?
  详细解决方案

[求助]为什么我编的实现扬辉三角的程序实现不了的?

热度:173   发布时间:2007-04-03 08:55:03.0
[求助]为什么我编的实现扬辉三角的程序实现不了的?
为什么我编的实现扬辉三角的程序实现不了的?请大家帮我看看,谢谢!
#include<stdio.h>
void main()
{
int a[10][10];
int i,j,l=1,m=2;
a[0][0]=a[1][0]=a[1][1]=1;
printf("%d\n",a[0][0]);printf("%d %d\n",a[1][0],a[1][1]);
for(i=2;i<=9;i++)
{
a[i][0]=1;
printf("%d",a[i][0]);
for(j=1;l>0;l--,j++)
{a[i][j]=a[i-1][j]+a[i-1][j-1];
printf(" %d",a[i][j]);
}
a[i][j+1]=1;printf(" %d\n",a[i][j+1]);
l=m;
m++;
}}
搜索更多相关的解决方案: 三角  

----------------解决方案--------------------------------------------------------
回复:(QQ0001000)#include
我想看看我着程序有什么问题!希望有人能解答下
----------------解决方案--------------------------------------------------------

第12行里的j++和第16行的a[i][j+1]=1有问题,第一次循环结束的时候l自减为0,j自加为2,

然后判断l>0,假,转到第16行a[i][j+1]=1,你的本意是让a22=1,实际上是a23=1,然后输出

输出的a23占了a22的位置造成假象,所以分析的时候不容易找出问题

建议:这样子按结果来考虑,一个字一个字输出的方法我觉得比较容易出错,而且不好找错误,
按总体考虑会比较好一点

[此贴子已经被作者于2007-4-3 12:46:09编辑过]


----------------解决方案--------------------------------------------------------
o
楼上的说得对!我看你的程序也觉得自己的不好!我才学一个月,希望以后指点指点!谢谢

----------------解决方案--------------------------------------------------------
我将a[i][j+1]=1该成a[i][j]=1就行了!谢谢拉!
----------------解决方案--------------------------------------------------------
  相关解决方案