实践报告答案江苏科技大学C_第1页
实践报告答案江苏科技大学C_第2页
实践报告答案江苏科技大学C_第3页
实践报告答案江苏科技大学C_第4页
实践报告答案江苏科技大学C_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、江苏科技大学 课程实践报告 设计题目: 程序设计(vc+)实践 设计时间 至 学院(系): 专业班级: 学生姓名: 学号 指导老师: 2013年12月 任务一一、实践任务2试建立一个类sp,求,另有辅助函数power(m,n)用于求。二、详细设计1、类的描述与定义(1)私有数据成员l int n,k:存放公式中n和k的值;(2)公有成员函数l sp(int n1,int k1):构造函数,初始化成员数据n和k。l int power(int m, int n):求mn。l int fun( ):求公式的累加和。l void show( ):输出求得的结果。2、主要函数设计在主程序中定义对象s,

2、对该类进行测试。三、源程序清单#include class spint n,k;public:sp(int n1,int k1)n=n1;k=k1;int power(int m,int n)int p=1;for (int i=1;in+1;i+)p*=m;return p;int fun()int s=0;for (int i=1;in+1;i+)s+=power(i,k);return s;void a()coutn=n,k=k,f(n,k)=fun()endl;void main()sp a(3,3);a.power(3,3);a.fun();a.a();四、实践小结掌握用循环语句求m

3、n,和m!,熟练掌握函数的调用。五、运行结果任务二一、实践任务3建立一个类move,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。二、详细设计1、类的描述与定义(1)私有数据成员l float array20:一维整型数组。l int n:数组中元素的个数。(2)公有成员函数l move(float b,int m):构造函数,初始化成员数据。l void average():输出平均值,并将数组中的元素按要求重新放置。l void print():输出一维数组。2、主要函数设计在主程序中用数据1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2

4、.3对该类进行测试。三、源程序清单#includeclass movefloat array20;int n;public:move(float b,int m)n=m;for(int i=0;im;i+)arrayi=bi;void average()float t=0;for(int i=0;in;i+)t+=arrayi;float d=(t/n);cout平均值为:dendl;int j=n-1;for(i=0;ij;i+,j-)while(arrayid)j-;t=arrayi;arrayi=arrayj;arrayj=t;void print()for(int i=0;in;i+)

5、coutarrayit;coutendl;void main()float b1=1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3;int num;num=sizeof(b1)/sizeof(float);move s(b1,num);s.average();s.print();四、实践小结应熟练掌握数组与指针的应用。五、运行结果任务三一、实践任务4建立一个类move,将数组中最大元素的值与最小元素的值互换。二、详细设计1、类的描述与定义(1)私有数据成员l int *array:一维整型数组。l int n:数组中元素的个数。(2)公有成员函数l move(int b,in

6、t m):构造函数,初始化成员数据。l void exchange():输出平均值,并将数组中的元素按要求重新放置。l void print():输出一维数组。l move():析构函数。2、主要函数设计在主程序中用数据21,65,43,87,12,84,44,97,32,55对该类进行测试。三、源程序清单#include class move int *array; int n; public: move(int b,int m) n=m; array=new intn; for(int i=0;in;i+) arrayi=bi; void exchange() int s=0,max,mi

7、n,x,y; float ave; max=min=array0; for(int i=0;imax)max=arrayi;x=i; if(arrayimin)min=arrayi;y=i; ave=s/n; cout平均值为:aveendl; arrayy=max;arrayx=min; void print() for(int i=0;in;i+) coutarrayi ; move() delete array; ; void main() int b=21,65,43,87,12,84,44,97,32,55; move test(b,10); test.exchange(); tes

8、t.print(); 四、实践小结学会求数组中最大元素与最小元素方法,并实现交换。五、运行结果任务四一、实践任务6定义一个字符串类string,实现判断该字符串是否为回文字符串。所谓回文字符串,是指该字符串左右对称。例如字符串“123321”是回文字符串。二、详细设计1、类的描述与定义(1)私有数据成员l char *str; l int y:标记是否为回文字符串。(2)公有成员函数l string (char *s) :构造函数,用给定的参数s初始化数据成员str。y初始化为0。l void huiwen () :判断str所指向的字符串是否为回文字符串。l void show( ) :在屏

9、幕上显示字符串。2、主要函数设计在主程序中定义字符串char s=”ababcedbaba”作为原始字符串。定义一个string类对象test,用s初始化test,完成对该类的测试。三、源程序清单#include#includeclass stringchar *str;int y;public:string(char *s)str=new charstrlen(s)+1;strcpy(str,s);y=0;void huiwen()char *p1=str,*p2=str;while(*p2)p2+;p2-;for(;p1p2;p1+,p2-)if(*p1!=*p2)y=1;break;vo

10、id show()if(y)coutstr不是回文字符串n;else coutstr是回文字符串n;void main()string a(1253321);a.huiwen();a.show();四、实践小结掌握判断回文字符串的一般形式。五、运行结果任务五一、实践任务11建立一个string,将一个字符串交叉插入到另一个字符串中(假定两字符串等长)。例如将字符串“abcde” 交叉插入字符串“abcde”的结果为“aabbccddee”或“aabbccddee”。二、详细设计1、类的描述与定义(1)私有数据成员l char str180 :存放被插入的字符串。l char str240 :存

11、放待插入的字符串。(2)公有成员函数l string (char *s1, char *s2 ):构造函数,用s1和s2初始化str1和str2。l void process():将str2中的字符串插入到str1中。l void print():输出插入后的字符串。2、主要函数设计在主程序中定义string类的对象test对该类进行测试。三、源程序清单#include#include class string char str180,str240; public: string(char *s1,char *s2) strcpy(str1,s1); strcpy(str2,s2); void

12、 process() int i=0,j=0; char t80; strcpy(t,str1); while(str2j) str1i+=tj; str1i+=str2j; j+; str1i=0; void print() coutstr1endl; ; void main() char s180,s240; cout请输入被插入字符串endl; cin.getline(s1,79); cout请输入待插入字符串endl;cin.getline(s2,39); string test(s1,s2); cess(); test.print(); 四、实践小结发现字符插入的规律

13、,再依次放入相应字符位置。五、运行结果任务六一、实践任务14建立一个类move,实现将数组中大字字母元素放在小写字母元素的左边。二、详细设计1、类的描述与定义(1)私有数据成员l char *array:一维字符数组。l int n:数组中元素的个数。(2)公有成员函数l move(char b,int m):构造函数,初始化成员数据。l void change():进行排序换位。l void print():输出一维数组。l move():析构函数。2、主要函数设计在主程序中用数据fdsuffstjfskfekwc对该类进行测试。三、源程序清单#includeclass movechar*array;int n;public:move(char b,int m)n=m;array=new charn;for(int i=0;in;i+)arrayi=bi;void change()char a;for(int i=1;i=a&arrayi-1=z)a=arrayi-1;for(int j=i-1;jn;j+)arrayj=arrayj

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论