当前位置: 代码迷 >> C语言 >> 死了都不知错在哪里??
  详细解决方案

死了都不知错在哪里??

热度:340   发布时间:2007-05-23 10:01:08.0
死了都不知错在哪里??
#include<stdio.h>
main()
{ int i,j,n;
printf("input n:");
scanf("%d",&n);
int a[n][n];
for (i=1;i<n;i++)
{
a[i][1]=1;a[i][i]=1;
}
for (i=3;i<n;i++)
{ for(j=2;j<n;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for (i=1;i<n;i++)
{
for(j=1;j<=i;j++)
printf("%4d",a[i][j]);
printf("\n");
}
return 0;
}
搜索更多相关的解决方案: 知错  

----------------解决方案--------------------------------------------------------
你想用这个程序实现什么功能啊?
----------------解决方案--------------------------------------------------------
scanf("%d",&n);
int a[n][n];
这里有错误,数组的长度必须是确定的常量~`
----------------解决方案--------------------------------------------------------
一楼的大哥 我想实现杨辉三角
二楼的大哥 我的N是在上面自行输入的
----------------解决方案--------------------------------------------------------
定义数组时长度必须是确定的,你的n是在编译之后才执行的,编译肯定不能通过a[n][n]这种定义方式的!~
----------------解决方案--------------------------------------------------------
大哥我的能编译 但运行时是乱码
----------------解决方案--------------------------------------------------------
你在什么环境下运行的啊 TC还是其他的?
----------------解决方案--------------------------------------------------------
用的是gcc编译器
----------------解决方案--------------------------------------------------------
那我就不明白了 我在TC上运行有8个错误~ 可能环境不同的原因吧 我也是新手 帮不了你了
----------------解决方案--------------------------------------------------------

首先数组的第一个元素应从下表0开始;你犯的就是这个错误!
还有a[][]必须有确定的值;
红色循环条件你也有错~
return 0?我不知道什么意思.抱歉
下面是我给你改的代码,你看看
#include<stdio.h>
main()
{ int i,j;
int a[8][8];
for (i=0;i<8;i++)
{
a[i][0]=1;a[i][i]=1;
}
for (i=2;i<8;i++)
{ for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for (i=0;i<8;i++)
{
for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
printf("\n");
}
getch();
}


----------------解决方案--------------------------------------------------------
  相关解决方案