程序一:
#include <stdio.h>
#include <math.h>
void main()
{
int i,j;
int a[10 [10 ;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
if(i==j||j==0)
a[i [j =1;
else
a[i [j =a[i-1 [j-1 +a[i-1 [j ;
}
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
printf("%5d",a[i [j );
printf("
");
}
}
程序二:
#include <stdio.h>
#include <math.h>
void main()
{
int i,j;
int a[10 [10 ;
for(i=0;i<10;i++)
{
{for(j=0;j<=i;j++)
if(i==j||j==0)
a[i [j =1;
else if
a[i [j =a[i-1 [j-1 +a[i-1 [j ;
printf("%-5d",a[i [j );
}
printf("
");
}
}
我想程序二达到程序一的效果,但达不到.我个人觉得程序二应该没问题,但运行确出错了,我检查了好多遍,也没找到原因在哪里,我在程序二的思想是边赋值边输出,一维数组都可以,难道二维数组不可以吗;请高手指点一下!但第一个程序为什么能正常运行呢?