首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中包含了类Polynomial(“多项式”)的定义。 形如5x4+3.4x2-7x+2的代数式称为多项式,其中的5为4次项系数,3.4为2次项系数,-7为1次项系数,2为0次项(常数项)系数。此例缺3次项,意味
请打开考生文件夹下的解决方案文件proj3,其中包含了类Polynomial(“多项式”)的定义。 形如5x4+3.4x2-7x+2的代数式称为多项式,其中的5为4次项系数,3.4为2次项系数,-7为1次项系数,2为0次项(常数项)系数。此例缺3次项,意味
admin
2020-06-29
29
问题
请打开考生文件夹下的解决方案文件proj3,其中包含了类Polynomial(“多项式”)的定义。
形如5x
4
+3.4x
2
-7x+2的代数式称为多项式,其中的5为4次项系数,3.4为2次项系数,-7为1次项系数,2为0次项(常数项)系数。此例缺3次项,意味着3次项系数为0,即省略了0x
3
。在Polynomial中,多项式的各个系数存储在一个名为coef的数组中。例如,对于上面的多项式,保存在coef[0]、coef[1]…coef[4]中的系数依次为:2.0、-7.0、3.4、0.0、5.0,也即对于i次项,其系数就保存在coef
中。成员函数getValue计算多项式的值,多项式中x的值是由参数指定的。
请补充完成文件Polynomial.cpp中成员函数getValue的定义。此程序的正确输出结果应为:
Value of p1whenx=2.0:59.8
Value of p2whenx=3.0:226.8
注意:只在函数getValue的“//********333********”和“********666********”之间填入 若干语句,不要改动程序中的其他内容。
//Polynomiac.h
#include<iostream>
using namespace std;
class Polynomial{//“多项式”类public:
Polynomial(double coef[ ],int num):coef(new double[num]),num_of_terms(num){
for(int i=0;i<num_of_terms;i++)
this->coef
=coef
;
}
~Polynomial( ){delete[ ]coef;}
//返回指定次数项的系数
double getCoefficient(int power)const{return coef[power];}
//返回在x等于指定值时多项式的值
double getValue(double x)
const;
private:
//系数数组,coef[0]为0次项(常数项)系数,coef[1]为1次项系数,coef[2]为2次项(平方项)系数,余类推。
double*coef;
int num_of_terms;
};
void writeToFile(const char*path);
//Polymomial.cpp
#include"Polynomial.h"
double polynomial::getValue
(double x)const{
//多项式的值value为各次项的累加和
double value=coef[0];
//********333********
//********666********
return valme;
}
//main.cpp
#include"Polynomial.h"
int main( ){
double p1[ ]={5.0,3.4,-4.0,8.0},p2[ ]={0.0,-5.4,0.0,3.0,2.0};
Polynomial polyl(p1,sizeof(p1)/sizeof(double)),poly2(p2,sizeof(p2)/sizeof(double));
cout<<"Value of p1 when x=2.0:"<<polyl.getValue(2.0)<<endl;
cout<<"Value of p2 when x=3.0:"<<poly2.getValue(3.0)<<endl:
writeToFile(" ");
return0;
}
选项
答案
for(int i=1;i<num_of_terms;i++)//从i=1开始遍历数组coef的所有项 { int j=i-1; //把i-1赋值给j,保证从零次方开始 double x_value=x; //把x赋给x_value while(j>0) //当j大于零时,做相乘操作,即完成该项的乘方动作 { x_value*=x; j--; } value+=coef[i]*x_value; //把i项的乘方结果乘以该项系数后加进value中 }
解析
题目要求成员函数getValue计算多项式的值,多项式中x的值由参数指定,多项式的值value为各次项的累加和。由类的定义可知数组coef中存储的是各次项的系数,这里使用for循环来完成题目要求,当次项为0时,value=coef[0]。当次项为1时,value=coef[1]*x+coef[0]。依次类推直到x的最高次数。
转载请注明原文地址:https://kaotiyun.com/show/Bl8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对定义重载函数的下列要求中,()是错误的。
设有如下程序:#include<iostream.h>classA{public:inti;display(){cout<<"classA\n";}};classB{public:inti;display(){cout<<"class
A、 B、 C、 D、 B对数组定义为普通数组时,要求数组的下标是常表达式,若定义成数组指针则不需要指定数组的大小。
C++语言提供的基本控制结构可以分为3种类型:顺序结构、【】和循环结构。
下列关于纯虚函数与抽象类的描述中,错误的是()。
若已定义:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是
下面不属于C++的预定义的流对象是()。
有如下函数模板声明:template<typenameT>TMax(Ta,Tb){return(a)b)?a:b;}下列对函数模板Max()的调用中错误的是()。
下列选项中,不是一个算法的基本特征是()。
在“文件包含”预处理语句的使用形式中,当#include后面的文件名用””括起时,寻找被包含文件的方式是
随机试题
煤块在常温下不易着火,更不易发生爆炸,因此煤矿开采和加工一般不用防爆。 ()
挫伤性虹膜根部离断是虹膜根部和()的离断。临床上可见到()型瞳孔,如离断较大或在睑裂处,可有()出现,需手术治疗。
A.川芎、延胡索B.桃仁、红花C.益母草、牛膝D,水蛭、虻虫E.乳香、没药皆能活血行气的药组是
某女,32岁,妊娠5月,最近常感腰酸腹痛,胎动下坠,或伴阴道少量流血,色暗淡,头晕耳鸣,两膝酸软,小便频数,舌淡,苔白,脉沉细而滑,经医生诊断为肝肾虚损所致胎动不安,宜选用()。
基金管理人的基金宣传推介材料应当自向公众分发或发布之日起()个工作日内报主要经营活动所在地中国证监会派出机构备案。
师生关系的本质是()
8个一元真币和1个一元假币混在一起,假币与真币外观相同,但比真币略重。问用一台天平最少称几次就一定可以从这9个硬币中找出假币?
A、 B、 C、 D、 D
小张完成了毕业论文,现需要在正文前添加论文目录以便检索和阅读,最优的操作方法是
世界经济越来越一体化,这对于社会和政治都有着重要的影响。同时,我们也看到了一个文化现象:全球性文化,或者说文化全球化的出现。
最新回复
(
0
)