这是一个计算函数f(x)的积分程序
在这里。。函数是f(x)=x^2

int main()
{
float integral;
float a=0,b=0;
int n=1024;
float h;
float x;
int i;

float f(float x);

printf("Enter a, b \n");
scanf("%f %f" , &a, &b);
printf("Enter  n\n");
scanf("%d" , &n);



h=(b-a)/n;
integral = (f(a)+f(b))/2;
x=a;
for (i = 0; i <= n-1; n++)
{
    x = x + h;
    integral = integral + f(x);
}
integral = integral * h ;

printf("with n = %d trapezoids, our esrimate\n", n );
printf("of the integral from %f to %f =  %f\n", a , b , integral);

system("pause");
return 0;

}


float f(float x)
{
  return x*x;
}

n的输出总是垃圾。。我不知道为什么
我错在哪里??
这个问题很愚蠢
但是我真的很累找错了

最佳答案

这是您的错误:for (i = 0; i <= n-1; n++)。你增加n而不是i

关于c - 总是在整数变量中垃圾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10719002/

10-10 10:29