你错在判断那里,少了else
应该是每个if都要对应一个else
下面是精简的程序
#include
void main()
{
int i,j,a[10][10];
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
{
if(j==0 || i==j)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
printf("%6d",a[i][j]);
}
printf("\n");
}
}
最后,你发错版块了
--------
只有1个判断时可以单独用if
如果你举的例子还有a多重判断,要用if -- else
比如:
if(a>1 && a<2)……;
else if(a>2 && a<3)……;
else if(a>3 && a<4)……;
else ……;
这样如果有一个if判断为真则跳过后面的所有判断,
没有else的话,那所有的if都会判断,并且最后那句没有if的语句会被执行