首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件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-04-07
32
问题
请打开考生文件夹下的解决方案文件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 p1 when x=2.0:59.8
Value of p2 when x=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 value;
}
//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("");
return 0;
}
选项
答案
1 for (int i = 1; i < num_of_terms; i++) //从i=1开始遍历数组coef的所有项 2 { 3 int j =i一1; //把i一1赋值给j,保证从零次方开始 4 double x_value =x; //把x赋给x_value 5 while(j >0) //当j大于零时,做相乘操作,即完成该项的乘方动作 6 { 7 x_value *=x; 8 j--; 9 } 10 value +=coef[i]*x_value; //把i项的乘方结果乘以该项系数后加进value中 11 }
解析
题目要求成员函数getValue计算多项式的值,多项式中x的值由参数指定,多项式的值value为各次项的累加和。由类的定义可知数组coef中存储的是各次项的系数,这里使用for循环来完成题目要求,当次项为0时,value=coef[0]。当次项为1时,value=coef[1]*x+coef[0]。依次类推直到x的最高次数。
转载请注明原文地址:https://kaotiyun.com/show/Mw8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下语句序列intarr[2][2]={{9,8),{7,6}};int*p=arr[0]+1;cout<<*p<<end1;运行时的输出结果是______。
关系数据模型由关系数据结构、关系操作集合和【】三大要素组成。
下面程序段的运行结果是voidmain(){intt,a,b,c;a=1;b=2;C=2;while(a<b<c){t=a;a=b;b
从工程管理的角度来看,软件设计分两步来完成。首先是概要设计,然后是【】。
设x,y,t均为int型变量,执行语句:x=y=3;t=++x||++y;,完成后,y的值为( )。
有些运算符既可以作为成员函数重载,也可以作为非成员函数重载。若在一个重载的运算符函数的定义中成功地使用了this指针,说明它是作为【13】重载的
设栈的存储空间为S(1:40),初始状态为bottom=0,top=0,现经过一系列入栈与出栈运算后,top=20,则当前栈中有【2】个元素。
下列类模板的定义中语法格式错误的是
已知基类Employee只有一个构造函数,其定义如下:Employee::Employee(intn):id(n){}Manager是Employee的派生类,则F列对Manager的构造函数的定义中,正确的是
假设函数fun已经定义,其原型为“voidfun(inta,intb=7,char*p=**);”下列函数调用中错误的是
随机试题
妊娠贫血心脾两虚证的常用方
32岁,已婚,继发不孕3年,月经规律,5d/30d,偶有经期痛。既往药物流产3次,有盆腔炎病史。妇科检查:外阴毛发分布正常,阴道通畅,子宫中位,常大,活动差,质中,无压痛,双附件增厚,轻度压痛。输卵管通液提示通而不畅。
痛风是下列何种物质代谢异常所致
病人杨女士,43岁。近日由于宫颈癌入院,需做广泛性子宫切除和盆腔淋巴结清扫术。手术当天的护理,错误的是
男性,40岁,颅中窝骨折伴脑脊液耳漏的患者。该患者的处理措施中正确的是
在工程招标代理企业中,暂定级工程招标代理机构,只能承担工程总投资()万元人民币以下的工程招标代理。
根据《注册造价工程师管理办法》,注册造价工程师的权利包括()。
下列关于我国银行业自律组织的说法中,错误的有()。
影响员工个人薪酬水平的因素包括()。
TheOlympicgames(oftenreferredtosimplyasTheOlympicsorTheGames)isaninternationalmulti-sporteventsubdividedintosu
最新回复
(
0
)