C语言编程杨辉三角遇到的问题...求解答
发布网友
发布时间:2022-04-23 14:50
我来回答
共4个回答
热心网友
时间:2022-04-23 16:19
for循环才起作用的块是有一定范围*的,并不是for下面的语句都是在循环中的语句。如果加上大括号,则循环的作用块就是{}所括的范围,如果没有加上,则所起的范围到其离得最近的第一个分号处(当然这句话不严谨,但大体意思是这样),
for(j=1;j<10;j++)
if(i==j)
a[i][j]=1;
if(i>j)
a[i][j]=a[i-1][j-1]+a[i-1][j];
也即是,上面的代码第一个if是在循环里面的,而第二个就不在了
热心网友
时间:2022-04-23 17:37
#include<stdio.h>
int a[10][10];
int main()
{
int i,j;
a[0][0]=1,a[1][0]=1,a[1][1]=1;
for(i=1;i<10;i++)
{
a[i][0]=1;
}
for(i=1;i<10;i++)
{
for(j=1;j<=i;j++)
{
if(i==j)
a[i][j]=1;
if(i>j)
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for(i=1;i<10;i++)
{
for(j=0;j<=i;j++ )
printf("%5d",a[i][j]);
printf("\n");
}
}
少打了一对括号
热心网友
时间:2022-04-23 19:12
if(i==j)
a[i][j]=1;
if(i>j)
a[i][j]=a[i-1][j-1]+a[i-1][j];
这里是两个语句了,必须要用花括号括起来啦
要么这样写
if(i==j)
a[i][j]=1;
else if(i>j)
a[i][j]=a[i-1][j-1]+a[i-1][j];追问第一个 if 如果没有执行,程序不会跳到第二个 if 吗
for语句会执行它下面几条语句啊
热心网友
时间:2022-04-23 21:03
但是古诗十九首自己