#include<stdio.h>
void main()
{
int i,j,a[10][10]={{1},{1,1},{1,2,1}};
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(a[i][j]==0)
printf("\n");
if(i>2&&j>0)
a[i][j]=a[i-1][j-1]+a[i-1][j];
if(i==j||j==0)
a[i][j]=1;
printf("%d",a[i][j]);
}
}
printf("\n");
}
各位大侠帮忙哈··算法的问题,但是怎么也找不出来是错在哪了!!?
#include<stdio.h>
void main()
{
int i,j,a[10][10]={{1},{1,1},{1,2,1}};
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++) //这个就是实现杨辉三角的输出控制.
{
if(i>2&&j>0)
a[i][j]=a[i-1][j-1]+a[i-1][j];
if(i==j||j==0)
a[i][j]=1;
printf("%5d",a[i][j]); //输出格式控制.
}
printf("\n"); //回车放到for(i)循环中.
}
}
效果:
#include<stdio.h>
void main()
{
int i,j,a[10][10]={{1},{1,1},{1,2,1}};
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(i>2&&j>=0)
a[i][j]=a[i-1][j-1]+a[i-1][j];
if(i==j||j==0)
a[i][j]=1;
if(a[i][j] == 0) {
printf("\n");
break;
}
printf("%d ",a[i][j]);
}
}
printf("\n");
}