多项式评价是数学中非常常见的项,给多项式,给未知数进行评价。
这个题目要求实现计算次数n、系数a[0].a[n]的多项式的函数
f(x )=)=(a[i]*x^i )相加,求出在x点的值。
主题中还给出了函数接口的定义,以及n、a[]、x的各个说明。
n是多项式的阶,在a[]中存储系数,x是给定点,函数必须返回多项式f[x]的值。
梳理逻辑
看到这么复杂的测试程序的样本,我一开始还没来得及,反而浪费了很多时间。首先,让我们来看看这个主题给出的审判测试程序的样本。
这个-43.1是将数组中的各个元素以多项式的形式相加而得到的。
然后最终留下一位数。
具体的实现步骤如下图所示。
怎么写这个子函数呢?
1、数组a的要素容易求出的是,写for循环遍历就可以了。
2、如何写x的幂,可以调用c语言中的库函数#include math.h,利用里面的pow函数求x的幂。 例如,假设x的3次方,那就是pow(x,3 )。
3、要合计,定义变量sum=0,将sum=sum多项式逐一保存进行加法运算。
双精度(英寸,双精度a [ ],双精度x ) {
浮点求和=0;
for (英制=0; i=n; I ) {2}
sum=suma * pow (x,I );
}
返回和;
(}
代码实现
//多项式评价# #包括stdio.h
# #包括匹配. h
# #定义maxn 10
双精度(英寸,双精度);
int主() )
{
整数,整数;
双精度,x;
scanf('%d%lf )、n和x );
for(I=0; i=n; I ) )
scanf('%lf ',a[i] );
printf('%.1f(n ),f ) n,a,x );
返回0;
}
//这就是关键的部分代码、函数代码
双精度(英寸,双精度a [ ],双精度x ) {
浮点求和=0;
for (英制=0; i=n; I ) {2}
sum=suma * pow (x,I );
}
返回和;
(
结果测试
) )。