实践报告答案江苏科技大学 C++Word文档下载推荐.docx

上传人:b****6 文档编号:22096387 上传时间:2023-02-02 格式:DOCX 页数:17 大小:157.71KB
下载 相关 举报
实践报告答案江苏科技大学 C++Word文档下载推荐.docx_第1页
第1页 / 共17页
实践报告答案江苏科技大学 C++Word文档下载推荐.docx_第2页
第2页 / 共17页
实践报告答案江苏科技大学 C++Word文档下载推荐.docx_第3页
第3页 / 共17页
实践报告答案江苏科技大学 C++Word文档下载推荐.docx_第4页
第4页 / 共17页
实践报告答案江苏科技大学 C++Word文档下载推荐.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

实践报告答案江苏科技大学 C++Word文档下载推荐.docx

《实践报告答案江苏科技大学 C++Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实践报告答案江苏科技大学 C++Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。

实践报告答案江苏科技大学 C++Word文档下载推荐.docx

求mn。

●intfun():

求公式的累加和。

●voidshow():

输出求得的结果。

2、主要函数设计

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

三、源程序清单

#include<

iostream.h>

classSP

{

intn,k;

public:

SP(intn1,intk1)

{

n=n1;

k=k1;

}

intpower(intm,intn)

intp=1;

for(inti=1;

i<

n+1;

i++)

p*=m;

returnp;

intfun()

ints=0;

s+=power(i,k);

returns;

voidA()

cout<

<

"

n="

n<

k="

k<

f(n,k)="

fun()<

endl;

};

voidmain()

SPa(3,3);

a.power(3,3);

a.fun();

a.A();

}四、实践小结

掌握用循环语句求m^n,和m!

,熟练掌握函数的调用。

五、运行结果

任务二

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

●floatarray[20]:

一维整型数组。

●intn:

数组中元素的个数。

●MOVE(floatb[],intm):

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

●voidaverage():

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

●voidprint():

输出一维数组。

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

#include<

classMOVE{

floatarray[20];

intn;

MOVE(floatb[],intm)

n=m;

for(inti=0;

m;

array[i]=b[i];

voidaverage()

floatt=0;

n;

t+=array[i];

floatD=(t/n);

平均值为:

D<

intj=n-1;

for(i=0;

j;

i++,j--)

{

while(array[i]<

=D)i++;

while(array[j]>

D)j--;

t=array[i];

array[i]=array[j];

array[j]=t;

}

voidprint()

cout<

array[i]<

'

\t'

;

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

intnum;

num=sizeof(b1)/sizeof(float);

MOVEs(b1,num);

s.average();

s.print();

}

四、实践小结

应熟练掌握数组与指针的应用。

任务三

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

●int*array:

●MOVE(intb[],intm):

●voidexchange():

●~MOVE():

析构函数。

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

classMOVE

{

int*array;

MOVE(intb[],intm)

array=newint[n];

i++)

}

voidexchange()

ints=0,max,min,x,y;

floatave;

max=min=array[0];

s+=array[i];

if(array[i]>

max){max=array[i];

x=i;

if(array[i]<

min){min=array[i];

y=i;

ave=s/n;

平均值为:

ave<

array[y]=max;

array[x]=min;

voidprint()

"

~MOVE()

delete[]array;

voidmain()

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

MOVEtest(B,10);

test.exchange();

test.print();

学会求数组中最大元素与最小元素方法,并实现交换。

任务四

6.定义一个字符串类String,实现判断该字符串是否为回文字符串。

所谓回文字符串,是指该字符串左右对称。

例如字符串“123321”是回文字符串。

●char*str;

●inty:

标记是否为回文字符串。

●String(char*s):

构造函数,用给定的参数s初始化数据成员str。

y初始化为0。

●voidhuiwen():

判断str所指向的字符串是否为回文字符串。

●voidshow():

在屏幕上显示字符串。

在主程序中定义字符串chars[]=”ababcedbaba”作为原始字符串。

定义一个String类对象test,用s初始化test,完成对该类的测试。

string.h>

classString

char*str;

inty;

String(char*s)

str=newchar[strlen(s)+1];

strcpy(str,s);

y=0;

voidhuiwen()

char*p1=str,*p2=str;

while(*p2)p2++;

p2--;

for(;

p1<

p2;

p1++,p2--)

if(*p1!

=*p2)

{

y=1;

break;

}

voidshow()

if(y)

cout<

str<

不是回文字符串"

\n'

elsecout<

是回文字符串"

StringA("

1253321"

);

A.huiwen();

A.show();

掌握判断回文字符串的一般形式。

任务五

11.建立一个STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串等长)。

例如将字符串“abcde”交叉插入字符串“ABCDE”的结果为“aAbBcCdDeE”或“AaBbCcDdEe”。

●charstr1[80]:

存放被插入的字符串。

●charstr2[40]:

存放待插入的字符串。

●STRING(char*s1,char*s2):

构造函数,用s1和s2初始化str1和str2。

●voidprocess():

将str2中的字符串插入到str1中。

输出插入后的字符串。

在主程序中定义STRING类的对象test对该类进行测试。

classSTRING{

charstr1[80],str2[40];

STRING(char*s1,char*s2)

{

strcpy(str1,s1);

strcpy(str2,s2);

}

voidprocess()

inti=0,j=0;

chart[80];

strcpy(t,str1);

while(str2[j])

{

str1[i++]=t[j];

str1[i++]=str2[j];

j++;

}

str1[i]='

\0'

str1<

chars1[80],s2[40];

请输入被插入字符串"

cin.getline(s1,79);

请输入待插入字符串"

cin.getline(s2,39);

STRINGtest(s1,s2);

test.process();

发现字符插入的规律,再依次放入相应字符位置。

任务六

14.建立一个类MOVE,实现将数组中大字字母元素放在小写字母元素的左边。

●char*array:

一维字符数组。

●MOVE(charb[],intm):

●voidchange():

进行排序换位。

在主程序中用数据"

fdsUFfsTjfsKFEkWC"

对该类进行测试。

classMOVE

char*array;

MOVE(charb[],intm)

array=newchar[n];

voidchange()

chara;

for(inti=1;

n/2;

if(array[i-1]>

='

a'

&

array[i-1]<

z'

a=array[i-1];

for(intj=i-1;

j<

j++)

{

array[j]=array[j+1];

}

array[n-1]=a;

i--;

array[i];

~MOVE()

if(array)delete[]array;

char*arr="

MOVEtest(arr,17);

test.change();

利用临时数组,分别保存大写与小写字母,再实现功能。

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

当前位置:首页 > 幼儿教育 > 家庭教育

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

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