输出以下的杨辉三角形(要求输出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");
}
展开
 我来答
sun1yu1jia1
2019-07-02 · TA获得超过1066个赞
知道小有建树答主
回答量:1178
采纳率:62%
帮助的人:535万
展开全部

正确的代码如下:

#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");
}
}

运行结果如下:

说明:

  1. 在if的条件若为判断某两个值是否相等,应当用==。=是赋值语句。

  2. break语句使程序跳出循环,continue语句使程序跳至本次循环的结尾而不会跳出。您的三处break应该为continue。

  3. for若没有大括号,只会管到下面一行。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式