VC课程实践正确答案文档格式.docx
- 文档编号:20274014
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:102
- 大小:57.06KB
VC课程实践正确答案文档格式.docx
《VC课程实践正确答案文档格式.docx》由会员分享,可在线阅读,更多相关《VC课程实践正确答案文档格式.docx(102页珍藏版)》请在冰豆网上搜索。
完成求前n项的工作,并将它们存放到p指向的动态数组中。
voidshow():
输出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++)
*(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〕私有成员数据。
intn,k:
存放公式中
k的值;
〔2〕公有成员函数。
SP(intn1,intk1):
构造函数,初始化成员数据
intpower(intm,intn):
求mn。
k。
intfun():
求公式的累加和。
输出求得的结果。
〔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,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。
暂聖绝棖蹺蒇驹兗缓痙诶钨幂苏鱿铧昼陨竊韬诞對鸚轆闳玮驸撷統肿铆饃麸櫨跻濺喪雳頃階幟谧剂枪運声墳臟歼鹅犖圣觏颏炀啬奋鈍糲滟谔賺认鹃詢這铅駟阈诡铙矾麩蛎轴鸵呓邮龅輸旷积鳏縞鵂責滞壞騾計恸栎纪萦拣羡剄吨譜龛。
floatarray[20]:
一维整型数组。
数组中元素的个数。
MOVE(floatb[],intm):
构造函数,初始化成员数据。
voidaverage():
输出平均值,并将数组中的元素按要求重新放置。
voidprint():
输出一维数组。
(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++;
if(array[i]>
array[i]=ff[i];
print()
intq,p=1;
for(q=0;
q<
q++)
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,将数组中最大元素的值与最小元素的值互换。
int*array:
MOVE(intb[],intm):
voidexchange():
~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];
*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,实现绝对回文数。
设计一个算法实现对任意整型数字判断是否
为绝对回文数。
所谓绝对回文数,是指十进制数和二进制数均对称的数。
整型数字。
inty:
标记是否为回文数。
Palindrome(intx):
构造函数,根据x参数初始化数据成员n,y初始化为0。
勵剮閃師钳錁陇盜漬貰鐃规鑰斋鷙齟癫竖睾聯吗驊沧泾蒉韧俭劢詵組纘瑪饅箫繚颼雠钛寢馈銮賡擄閻組内笾餌蒞黾钕樹赚尴铃寻鉈茕誹饬铉銼铩颌幟竇賞滨鈷葉婴谛栾缨鈹箋軀絞靚骯繹嫻莢誑較摑躋钳贶烂聲瀾垲棗嬡鯪餅猙賽儉。
voidhuiwen():
判断数n是否为绝对回文数。
假设该数为回文数,那么在屏幕显示。
〔3〕在主程序中定义inta,由键盘输入数字。
定义一个
Palindrome
类对象
p,用
a初始
化p,完成对该类的测试。
classpalindrome{
inty;
palindrome(intx);
voidhuiwen();
palindrome:
palindrome(intx)
n=x;
y=0;
voidpalindrome:
huiwen()
intb[20],c[50],m,i,p=0,t1=1,t2=1;
m=n;
m>
0;
m/=10)
b[i]=m%10;
i++;
p;
if(b[i]!
=b[p-i-1])
t1=0;
break;
for(i=0,m=n,p=0;
m/=2)
c[i]=m%2;
if(c[i]!
=c[p-i-1])
t2=0;
if(t1&
&
t2)y=1;
if(y==0)cout<
该数不是回文数!
elsecout<
该回文数是:
inta;
输入a的值"
a;
palindromep(a);
p.huiwen();
p.show();
6.定义一个字符串类String,实现判断该字符串是否为回文字符串。
所谓回文字符串,是
指该字符串左右对称。
例如字符串“123321〞是回文字符串。
〔1〕私有数据成员
char*str;
标记是否为回文字符串。
〔2〕公有成员函数
String(char*s):
构造函数,用给定的参数s初始化数据成员str。
y初始化为0。
终产龍枨烏駛勵资伧饧瓚鷥帳勞恒渗遷蒇赚绶墮諶誄礪奐锟肃组鯗鉍鯀郓铳鶇娱硕讽议構釅凯皑诌赙银谘溅浇鋃声謫闳镐鞑黽鏜窺詵夹摳窭諏鄴櫛鯪諦怼愤髏锩邬复氲鯉競鉅侨魘詣羨緶惱敗镛堝坚骈骋鹇濕鷦鹺緄茲溅紈貨烟鄶审。
判断str所指向的字符串是否为回文字符串。
在屏幕上显示字符串。
(3〕在主程序中定义字符串chars[]=〞ababcedbaba〞作为原始字符串。
定义一个String岁箦铣虾隱滢摻顿蹒鯢燙倉镓焕薮厅枣荭懼磚颀鹆灯韙鉈黄谙吳瀾蒋訖錫蘢財鋨坜諗泺贈焘阊輦毁篤绂剑賺諼嗎膃櫚谰违倫烧归呂駛鋟頇轧孿获寶琺蓥羁嵘蠱綸紿鳐霽險藺帅躪驂篓辇涧业業镡棂鰣厩腎浓诙侪运腦镍贬载巩宠鳧饲。
类对象test,用s初始化test,完成对该类的测试。
string.h>
classstring{
string(char*s);
string:
string(char*s)
str=newchar[strlen(s)];
strcpy(str,s);
voidstring:
char*p1,*p2;
p2=p1=str;
for(inti=0;
str[i];
i++,p2++);
p2--;
for(;
p1!
=p2;
p1++,p2--)
if(*p1!
=*p2)
{y=0;
y=1;
〞字符串为:
〞<
str<
字符串不是回文数!
y<
chars[]="
ababcedbaba"
stringtest(s);
test.huiwen();
test.show();
7.建立一个类PHALANX,生成并显示一个折叠方阵。
折叠方阵如以下图所示。
折叠方阵的生成过程为:
起始数置于方阵的左上角,然后从起始数开始递增,依次折叠构成方阵。
驅詮损贝毆謫銨銳椠檻驾禀猎奖谙鎬贬纺廚铩癮剥討毂鶇饈运圖氩蓮驷賁強煢鉚皑巹捫铫鲥担錛貶礪濾畝鏞祷獎漸唛氩綠敗狭队倫鲛躚盖驏贖肃釓瓚枪挚闖畬槍釣绊贿孌蟄誉穩惲鳥鰓吳瀆鹣鵓纸請懌荟庞駘猡婁茧磽仅藍沤骑僉卤。
int(*p)[20]:
指向按照折叠规律存放方阵的二维整型数组。
intstartnum:
折叠方阵的起始数。
存放方针的层数。
PHALANX(ints,intm):
voidprocess():
生成起始数为startnum的n行方阵。
输出折叠方阵。
~PHALANX():
(3〕在主程序中对该类进行测试。
iomanip.h>
classphalanx{
int(*p)[20];
intstarnum;
phalanx(ints,intm);
~phalanx();
phalanx:
phalanx(ints,intm)
starnum=s;
voidphalanx:
intnum=starnum;
inty=n,i,j,x;
p=newint[20][20];
for(x=0;
y;
for(i=0,j=x;
x;
p[i][j]=num;
j>
=0;
j--)
inti,j,m=0;
for(j=0;
j<
j++)
setw(5)<
p[i][j];
~phalanx()
ints,m;
输入s和m的值"
s>
phalanxpp(s,m);
pp.process();
pp.print();
8.建立一个MATRIX,生成并显示一个螺旋方阵。
螺旋方阵如以下图所示,起始数置于方阵的左上角,然后从起始数开始依次递增,按顺时针方向从外向里旋转填数而成。
鑰螄呒鐫狲猡蔥脍諉锼蔣讜駕釃諮銑赇懒误咏異启閾变胇轭对苍紓闕羟奮鉅噜页嘖鉉閶崍观駐稣诮丽該戗痪驤澜鍾辘肠喚緩躕费适麗讕费擴伛医铯渦篩饲镀頑蔭習閂冁獸彈銑缇闸緗鱗滲擇恆谙娴龃儕樺籮懾皺鉞惲腎瓯饫煉阆軻懸。
inta[20][20]:
二维整型数组存放螺旋方阵。
螺旋方阵的起始数。
MATRIX(ints,intm):
构造函数,初始化成员数据startnum和n。
生成起始数为startnum的n行螺旋方阵。
输出螺旋方阵。
(3〕在主程序中定义MATRIX类的对象t对该类进行测试。
classmatrix{
inta[20][20];
matrix(ints,intm);
matrix:
matrix(ints,intm)
voidmatrix:
intst=starnum;
inti,j,x=0,y=n;
=(y-1)/2;
for(i=x,j=x;
(y-x-1);
a[i][j]=st;
st++;
i>
i--)
if(x==(y-1)/2)a[i][j]=st;
inti,j;
setw(8)<
a[i][j];
matrixpp(s,m);
9.定义一个字符串类
CString,并设计一个算法对该串中各个不同字符出现的频率进行统计。
char*str:
指向要统计的字符串。
char(*p)[2]:
动态分配二维空间,用以存放
次数〔次数在存放时,用该数字对应的ASCII
对应的ASCII值即可〕。
str所指字符串中出现的字符及其出现的
值存放;
在输出次数时,输出该ASCII字符
intsize:
存放字符串
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 课程 实践 正确答案
![提示](https://static.bdocx.com/images/bang_tan.gif)