【发布时间】:2014-10-29 13:30:19
【问题描述】:
#include<stdio.h>
int main()
{
int n, i, j;
float x[10] = { 0 }, fx[10] = { 0 }, f1x[10] = { 0 }, z[20] = { 0 }, q[20][20] = { 0 };
printf("Enter the number of initial values\n");
scanf("%d", &n);
printf("Enter the x values\n");
for (i = 0; i < n; i++);
scanf("%f", &x[i]);
printf("Enter the fx values\n");
for (i = 0; i < n; i++);
scanf("%f", &fx[i]);
printf("Enter the f1x values\n");
for (i = 0; i < n; i++);
scanf("%f", &f1x[i]);
for (i = 0; i < n; i++)
{
z[2 * i] = x[i];
z[(2 * i) + 1] = x[i];
q[2 * i][0] = fx[i];
q[(2 * i) + 1][0] = fx[i];
q[(2 * i) + 1][1] = f1x[i];
if (i != 0)
{
q[2 * i][1] = (q[2 * i][0] - q[(2 * i) - 1][0]) / (z[2 * i] - z[(2 * i) - 1]);
}
}
for (i = 2; i < (2 * n) + 1; i++)
{
for (j = 2; j < i; i++)
{
q[i][j] = (q[i][j - 1] - q[i - 1][j - 1]) / (z[i] - z[i - j]);
}
}
printf("\nthe resultant matrix is\n");
for (i = 0; i < (2 * n) + 2; i++)
printf(" %f ", q[i][i]);
}
当我运行程序并获取初始值的数量(比如 3)然后它要求 1 x 然后要求 fx 和 f1x 并给出分段错误 .
【问题讨论】:
-
请格式化代码。然后使用调试器单步执行程序以找出错误语句。
-
您应该注意
;在for循环的末尾; (即)删除;。 -
我删除了;在for循环中..问题仍然存在
-
所以更新您的帖子以反映这一点。当你在做的时候,把缩进改成理智和可读的东西。
-
是的,但为什么它不接受我的其余 2 个输入?
标签: c segmentation-fault coredump