【发布时间】:2013-11-21 06:15:43
【问题描述】:
下面在fp 和newton 行的int main 部分返回的参数太少。
你能解释一下吗?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double f(double a, double b, double c, double x)
{
return pow(x,3)+a*pow(x,2)+b*x+c;
}
double fp(double a, double b, double c, double x)
{
return 3*pow(x,2)+(2*a*x)+b+0*c;
}
double newton(double a, double b, double c, double x)
{
return x - (f(a,b,c,x)/fp(a,b,c,x));
}
int main()
{
double a,b,c,x1,x2;
int i;
char *input = getenv("QUERY_STRING");
sscanf(input, "coeff1=%lf &coeff2=%lf &coeff3=%lf &x=%lf", &a, &b, &c, &x1);
if (fp(x1)==0.0)
{
printf("No convergence.\n");
return 0;
}
for (i=0;i<100;i++)
{
x2=newton(x1);
if (fabs(x1-x2)<= pow(10,-10)) break;
x1=x2;
}
printf("iteration = %d\n", i);
printf("x= %lf\n", x1);
return 0;
}
【问题讨论】:
-
@DavidPilkington 在我看来确实像 C。
-
我觉得是 C...我在数值分析/编程课上,我们在 unix 中输入这些命令(基本系统命令)
-
@user3016224 你至少应该知道你在用什么语言编程。这些不是系统命令,而是C代码。
标签: c compiler-errors