【发布时间】:2021-09-04 16:18:05
【问题描述】:
好吧,我需要将斐波那契数列存储在一个 2x5 矩阵中,但我在做什么它不起作用。这是我的尝试
int main()
{
int i,j,k;
int mat[2][5];
mat[0][0]=0;
mat[0][1]=1;
k=2;
for (i=0; i<2; i++)
{
for(j=0; j<5; j++)
{
mat[i][k]=mat[i][j]+mat[i][j+1];
k++;
}
}
for(i=0; i<2; i++)
{
for(j=0; j<5; j++)
{
printf("%d\t",mat[i][j]);
}
printf("\n");
}
return 0;
}
【问题讨论】:
-
如果任务是教你 2x5 存储在与 1x10 相同的 10 个连续整数中,那么你可以使这项工作变得更容易。将它们存储为 1x10,将其转换为 2x5,然后遍历 2x5 进行打印。
-
mat[i][j+1]将超过最后一次迭代的数组限制。 -
... 和
mat[i][k]也将在最后的 五次 迭代中,因为初始化k=2;并且因为i可以是1。这可能会破坏某些东西。不过,“不工作”并不是一个有用的问题描述。 -
谢谢@JeffHolt,我设法用你的提示解决了问题