6-2 多项式求值(15 分)
本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑i=0n(a[i]×xi) 在x点的值。
函数接口定义:
double f( int n, double a[], double x );
其中n是多项式的阶数,a[]中存储系数,x是给定点。函数须返回多项式f(x)的值。
裁判测试程序样例:
#include <stdio.h>
#define MAXN 10
double f( int n, double a[], double x );
int main()
{
int n, i;
double a[MAXN], x;
scanf("%d %lf", &n, &x);
for ( i=0; i<=n; i++ )
scanf(“%lf”, &a[i]);
printf("%.1f\n", f(n, a, x));
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
2 1.1
1 2.5 -38.7
输出样例:
-43.1编程中出现的错误:
(1)
stray '\241' in program
因为上半部分代码是直接从网站上复制到编译器的,所以当它报错的时候特别惊讶。
后来查询才知道,这个错误一般来说是因为从其它地方复制代码过来,
解决办法就是删掉错误的那一行代码重新手动输入就行啦
原本的思路:
这道题一看挺简单的,a[i]*x的i次方,用一个for循环就可以了,但是我发现一个问题,
就是没有给出math.h这个库函数,所以得想其他办法啦
后来的思路:
可以将x的乘积放在一个temp中保存,下次取出来的时候仅仅用temp再乘以x就可以得到了
代码:

该博客介绍了如何实现计算给定阶数和系数的多项式在特定点的值的函数,强调了在编程过程中遇到的错误,如复制代码导致的问题,以及在没有math库的情况下如何通过保存中间结果来计算x的幂次。博主分享了两种解决思路,包括使用循环和临时变量的方法。

594

被折叠的 条评论
为什么被折叠?



