输出以下的杨辉三角形(要求输出10行)程序写出来了但是运行不了,哪位大佬帮忙看看哪里错了
#include<stdio.h>voidmain(){inti,j,a[10][10];for(i=0;i<10;i++)for(j=0;j<=i;j++){if(j=...
#include<stdio.h>
void main()
{
int i,j,a[10][10];
for(i=0;i<10;i++)
for(j=0;j<=i;j++)
{
if(j=0)
{
a[i][j]=1;break;
}
if(i>1&&j>0&&j<i)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];break;
}
if(i=j)
{
a[i][j]=1;break;
}
}
for(i=0;i<10;i++)
for(j=0;j<=i;j++)
printf("%d ",a[i][j]);
printf("\n");
} 展开
void main()
{
int i,j,a[10][10];
for(i=0;i<10;i++)
for(j=0;j<=i;j++)
{
if(j=0)
{
a[i][j]=1;break;
}
if(i>1&&j>0&&j<i)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];break;
}
if(i=j)
{
a[i][j]=1;break;
}
}
for(i=0;i<10;i++)
for(j=0;j<=i;j++)
printf("%d ",a[i][j]);
printf("\n");
} 展开
展开全部
正确的代码如下:
#include<stdio.h>
void main()
{
int i, j, a[10][10];
for (i = 0; i < 10; i++)
for (j = 0; j <= i; j++)
{
if (j == 0)
{
a[i][j] = 1;
continue;
}
if (i > 1 && j > 0 && j < i)
{
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
continue;
}
if (i == j)
{
a[i][j] = 1;
continue;
}
}
for (i = 0; i < 10; i++)
{
for (j = 0; j <= i; j++)
printf("%d ", a[i][j]);
printf("\n");
}
}
运行结果如下:
说明:
在if的条件若为判断某两个值是否相等,应当用==。=是赋值语句。
break语句使程序跳出循环,continue语句使程序跳至本次循环的结尾而不会跳出。您的三处break应该为continue。
for若没有大括号,只会管到下面一行。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询