采用梯形法编程实现在积分区间[a,b]内计算下面两个函数的定积分。
按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
程序运行结果示例:
y1=1.333350
y2=1.151212
#include
float Fun1(float x);
float Fun2(float x);
float Integral(float (*f)(float), float a, float b);
int main()
{
float y1, y2;
y1 = Integral(Fun1, 0.0, 1.0);
y2 = Integral(Fun2, 0.0, 3.0);
printf("y1=%f\ny2=%f\n", y1, y2);
return 0;
}
/* 函数功能:计算函数1+x*x的函数值 */
float Fun1(float x)
{
return 1 + x * x;
}
/* 函数功能:计算函数x/(1+x*x)的函数值 */
float Fun2(float x)
{
return x / (1 + x * x);
}
/* 函数功能:用梯形法计算函数的定积分 */
float Integral(float (*f)(float), float a, float b)
{
float s, h;
int n = 100, i;
s = __________;
h = __________;
for (i=1; i {
s += __________;
}
return __________;
}
A、第31行:((*f)(a) + (*f)(b)) / 2
第32行:(b - a) / n
第36行:(*f)(a + i * h)
第38行:s * h
B、第31行:(*f)(a+b) / 2
第32行:(b - a) / n
第36行:(*f)(a + i * h)
第38行:s
C、第31行:((*f)(a) + (*f)(b)) / 2
第32行:(a - b) / n
第36行:*f(a + i * h)
第38行:s * h
D、第31行:(*f)(a+b) / 2
第32行:(a - b) / n
第36行:*f(a + i * h)
第38行:s
按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
程序运行结果示例:
y1=1.333350
y2=1.151212
#include
float Fun1(float x);
float Fun2(float x);
float Integral(float (*f)(float), float a, float b);
int main()
{
float y1, y2;
y1 = Integral(Fun1, 0.0, 1.0);
y2 = Integral(Fun2, 0.0, 3.0);
printf("y1=%f\ny2=%f\n", y1, y2);
return 0;
}
/* 函数功能:计算函数1+x*x的函数值 */
float Fun1(float x)
{
return 1 + x * x;
}
/* 函数功能:计算函数x/(1+x*x)的函数值 */
float Fun2(float x)
{
return x / (1 + x * x);
}
/* 函数功能:用梯形法计算函数的定积分 */
float Integral(float (*f)(float), float a, float b)
{
float s, h;
int n = 100, i;
s = __________;
h = __________;
for (i=1; i
s += __________;
}
return __________;
}
A、第31行:((*f)(a) + (*f)(b)) / 2
第32行:(b - a) / n
第36行:(*f)(a + i * h)
第38行:s * h
B、第31行:(*f)(a+b) / 2
第32行:(b - a) / n
第36行:(*f)(a + i * h)
第38行:s
C、第31行:((*f)(a) + (*f)(b)) / 2
第32行:(a - b) / n
第36行:*f(a + i * h)
第38行:s * h
D、第31行:(*f)(a+b) / 2
第32行:(a - b) / n
第36行:*f(a + i * h)
第38行:s
C语言程序设计精髓