多项式函数c语言 求多项式c语言

多项式计算 C语言编程

这个其实很简单,需要3个数组(暂时考虑int数组),长度都是10,分别保存多项式1、2和计算结果。初始化为全0。输入就按照你的假设吧。输入后三个数组分别为:

鹿邑网站建设公司成都创新互联公司,鹿邑网站设计制作,有大型网站制作公司丰富经验。已为鹿邑上1000+提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的鹿邑做网站的公司定做!

多项式1:[7, 0, -5, 2, 0, 0, 0, 0, 0, 0](x的0次幂系数是7,x的1次幂系数是2,以此类推,下同)

多项式2:[-8, 1, 3, 0, 0, 0, 0, 0, 0, 0]

计算结果:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0](还没算呢,当然都是0)

加法减法很好算,不赘述。乘法怎么算呢,你按照真实的数学计算步骤推一遍就知道了,你会把3x2、x、-8分别乘以2x3-5x2+7,最后把结果加起来。转换到程序中,就是把若干个数组加起来:

[-56, 0, 40, -16, 0, 0, 0, 0, 0, 0]

[0, 7, 0, -5, 2, 0, 0, 0, 0, 0]

[0, 0, 21, 0, -15, 6, 0, 0, 0, 0]

加起来就可以了。

至于提高水平,这个题目出得不好,因为多项式相除结果不唯一。比如说2x2 + 1除以x2 + 1,你可以说2x2 + 1 = 2(x2 + 1) - 1,也可以说2x2 + 1 = 1(x2 + 1) + x2。这样的题目数学上就意义不大,用程序去实现也达不到锻炼水平的作用。也许我理解有误?

c语言计算多项式的值?

思路:

因为这是个加法的多项式,用变量s累加,s的最初值是0,第1次向上加1!,第2次加2!,...,第n磁加n! s+=jc;阶乘变量jc在循环中计算。

每项用循环变量i控制,第1次循环取值1,第2次循环取值2,...,第20次循环取值20,这个变量就是要求的阶乘数,i的值每次加1

阶乘是个累乘的运算,用变量jc,初始值是1,第1次向上乘以循环变量值1,就是1!,第2次是前边计算好的1!*2=2!,...,第20次就是19!*20=20!,jc*=i;

由于20!数据比较大,对于32bit的int型变量存放不下,可以考虑用double型数据计算,省得溢出。

因此程序主体算法为:

int i;

double s,jc;

s=0; jc=1;

for ( i=1;i=20;i++ ) { jc*=i; s+=jc; }

printf("%lf\n",s);

急!c语言 计算多项式的程序

#include stdio.h

#include stdlib.h

void main( )

{

double coe[20], x, sum = 0;

int i, n;

printf("请输入总项数: ");

scanf("%d", n);

printf("请按指数从高到低的顺序输入各项系数: ");

for(i = n; i = 0; i--)

scanf("%lf", coe[i]);

printf("请输入变量x的值: ");

scanf("%lf", x);

for(i = n; i = 0; i--)

sum = sum * x + coe[i];

printf("\n结果为: %lf\n", sum);

}

用c语言算多项式函数

#include double x; double f(int n){ if(n==0)return 1.0; else if(n==1)return x; return (2*n-1)*x-(n-1)-(n-1)*f(n-2)/n;} int main(){ int a; printf("输入n,x\n"); scanf("%d%lf",a,x); printf("%lf",f(a)); return 0;}

C语言多项式

#include stdio.h

#define DEGREE_MAX 8

void get_poly(double coeff[], int *degree)

{

int i;

printf("please enter the biggest degree:");

scanf("%d", degree);

for (i = *degree; i = 0; i--) {

printf("enter %d `s Coefficient:", i);

scanf("%lf", coeff[i]);

}

printf("\nyour polynomial is:\n");

for (i = *degree; i = 0; i--) {

printf("%.2lfX^%d%c", coeff[i], i, (i 0?' ' : '\n'));

}

}

double eval_poly(const double coeff[], int degree, double x)

{

int i;

double m = x, ret = 0;

ret += coeff[0];

for (i = 1; i = degree; i++) {

ret += coeff[i]*m;

m *= x;

}

return ret;

}

int main() {

double coeff[DEGREE_MAX],x;

int degree;

get_poly(coeff, degree);

printf("\nplease enter X value:");

scanf("%lf", x);

printf("the answer is %.2lf\n", eval_poly(coeff, degree, x));

return 0;

}


本文标题:多项式函数c语言 求多项式c语言
当前地址:http://pwwzsj.com/article/dodpdgd.html