问题求解与实践-简单数值计算

第1关:一元多项式化简与求导

任务描述
编写程序实现对一元多项式的化简,求导以及求值。多项式系数为整数或小数,小数精度为小数点后4位(直接截位方式),浮点数数据类型设定为double。

相关知识
一元多项式化简、求导与求值。

其中:
化简:例如输入为2+3x+5x+6x^2 则化简为多项式(按指数递减)的标准形式6.0000x^2+8.0000x+2.0000;
求导:xn(n为非负整数)的一阶导数为n*x(n-1),6x^2+8x+2求导为12.0000x+8.0000;
求值:给定x=0,则6x^2+8x+2值为2.0000。

编程要求
实践中需要定义一个多项式类Polynomial,该类支持如下操作:

根据用户输入的表达式初始化一个多项式并将其化简为标准形式,系数的精度设为小数点后4位(本题中,所有输出中的系数均为小数点后4位的形式);
对简化后的多项式进行求导,并按照多项式指数递降方式排列;
对多项式进行计算(多项式计算过程中,小数计算需要按照系统默认浮点数精度先行计算,最后计算完成时才截取位数)。
main函数中,用户提供输入、输出如下:

程序的输入为两行:第一行为多项式表达式,第二行为数值;
程序的输出为三行:第一行为进行化简后的多项式,第二行为多项式的导,第三行为多项式

你可能感兴趣的:(Educoder实训,算法)