VC课程实践正确答案 1要点Word文件下载.docx

上传人:b****1 文档编号:14163255 上传时间:2022-10-19 格式:DOCX 页数:93 大小:621.77KB
下载 相关 举报
VC课程实践正确答案 1要点Word文件下载.docx_第1页
第1页 / 共93页
VC课程实践正确答案 1要点Word文件下载.docx_第2页
第2页 / 共93页
VC课程实践正确答案 1要点Word文件下载.docx_第3页
第3页 / 共93页
VC课程实践正确答案 1要点Word文件下载.docx_第4页
第4页 / 共93页
VC课程实践正确答案 1要点Word文件下载.docx_第5页
第5页 / 共93页
点击查看更多>>
下载资源
资源描述

VC课程实践正确答案 1要点Word文件下载.docx

《VC课程实践正确答案 1要点Word文件下载.docx》由会员分享,可在线阅读,更多相关《VC课程实践正确答案 1要点Word文件下载.docx(93页珍藏版)》请在冰豆网上搜索。

VC课程实践正确答案 1要点Word文件下载.docx

l~PP():

析构函数,释放p指向的动态内存空间。

ldoublefun(intn1,doublex):

递归函数,用于求多项式的第n1项。

注意:

将递归公式中的n用作函数参数。

本函数供process函数调用。

lvoidprocess():

完成求前n项的工作,并将它们存放到p指向的动态数组中。

lvoidshow():

输出n和x,并将前n项以每行4个数的形式输出到屏幕上。

(3)在主函数中完成对该类的测试。

先输入num和x1,并定义一个PP类的对象items,用num和x1初始化items的成员n和x,调用items的成员函数,求出并输出多项式前num项的值。

程序源代码

#include<

iostream.h>

classpp{

intn;

doublex;

double*p;

public:

pp(intnum,doublex1);

~pp();

doublefun(intn1,doublex);

voidprocess();

voidshow();

};

pp:

:

pp(intnum,doublex1)

{

n=num;

x=x1;

p=newdouble[num+1];

}

~pp()

delete[]p;

doublepp:

fun(intn1,doublex)

if(n1==0)return1;

if(n1==1)returnx;

if(n1>

1)return((2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x))/n1;

voidpp:

process()

inti;

for(i=0;

i<

=n;

i++)

{

*(p+i)=fun(i,x);

}

show()

cout<

<

"

n="

n<

'

\t'

x="

x<

endl;

for(inti=0,m=1;

n;

i++,m++)

{

cout<

*(p+i)<

;

if(m%4==0)cout<

\n'

}

voidmain()

intnum;

doublex1;

putinnumandx1"

cin>

>

num>

x1;

ppitems(num,x1);

items.process();

items.show();

运行结果

2.试建立一个类SP,求,另有辅助函数power(m,n)用于求。

具体要求如下:

(1)私有成员数据。

lintn,k:

存放公式中n和k的值;

(2)公有成员函数。

lSP(intn1,intk1):

构造函数,初始化成员数据n和k。

lintpower(intm,intn):

求mn。

lintfun():

求公式的累加和。

输出求得的结果。

(3)在主程序中定义对象s,对该类进行测试。

classSP{

intn,k;

SP(intn1,intk1);

intpower(intm,intn);

intfun();

SP:

SP(intn1,intk1)

n=n1;

k=k1;

intSP:

power(intm,intn)

if(n==0)return1;

else

for(i=1;

m*=m;

returnm;

fun()

inty=0,x;

for(x=1;

x++)

y+=power(x,k);

returny;

voidSP:

前n项的和为:

fun()<

intn1,k1;

输入n1和k1的值"

n1>

k1;

SPs(n1,k1);

s.fun();

s.show();

运行结果:

3.建立一个类MOVE,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。

lfloatarray[20]:

一维整型数组。

数组中元素的个数。

lMOVE(floatb[],intm):

构造函数,初始化成员数据。

lvoidaverage():

输出平均值,并将数组中的元素按要求重新放置。

lvoidprint():

输出一维数组。

(3)在主程序中用数据{1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3}对该类进行测试。

classMOVE{

floatarray[20];

MOVE(floatb[],intm);

voidaverage();

voidprint();

MOVE:

MOVE(floatb[],intm)

n=m;

m;

array[i]=b[i];

voidMOVE:

average()

inti,x;

floata=0;

a+=array[i];

a/=n;

平均值为"

a<

floatff[20];

for(i=0,x=0;

if(array[i]<

a)

ff[x]=array[i];

x++;

for(i=0;

if(array[i]>

{

ff[x]=array[i];

x++;

}

for(i=0;

array[i]=ff[i];

print()

intq,p=1;

for(q=0;

q<

q++)

cout<

array[q]<

if(p%5==0)cout<

p++;

floatb[]={1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3};

intm=9;

MOVEaa(b,m);

aa.average();

aa.print();

4.建立一个类MOVE,将数组中最大元素的值与最小元素的值互换。

lint*array:

lMOVE(intb[],intm):

lvoidexchange():

l~MOVE():

析构函数。

(3)在主程序中用数据{21,65,43,87,12,84,44,97,32,55}对该类进行测试。

int*array;

MOVE(intb[],intm);

voidexchange();

~MOVE();

MOVE(intb[],intm)

array=newint[n];

for(intx=0;

array[x]=b[x];

exchange()

inti,*p1,*p2;

Theaverageofthenumberis:

p1=p2=&

array[0];

*p1)p1=&

array[i];

if(array[i]>

*p2)p2=&

i=*p1;

*p1=*p2;

*p2=i;

inti,num=1;

array[i]<

if(num%5==0)cout<

num++;

~MOVE()

{delete[]array;

intb[]={21,65,43,87,12,84,44,97,32,55},n=10;

MOVEff(b,n);

ff.exchange();

ff.print();

5.定义一个类Palindrome,实现绝对回文数。

设计一个算法实现对任意整型数字判断是否为绝对回文数。

所谓绝对回文数,是指十进制数和二进制数均对称的数。

(1)私有数据成员

整型数字。

linty:

标记是否为回文数。

lPalindrome(intx):

构造函数,根据x参数初始化数据成员n,y初始化为0。

lvoidhuiwen():

判断数n是否为绝对回文数。

lvoidshow():

若该数为回文数,则在屏幕显示。

(3)在主程序中定义inta,由键盘输入数字。

定义一个Palindrome类对象p,用a初始化p,完成对该类的测试。

classpalindrome{

inty;

palindrome(intx);

voidhuiwen();

palindrome:

palindrome(intx)

n=x;

y=0;

voidpalindrom

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 自考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1