1、张凯强程序设计实践报告程序设计实践报告姓名 张凯强 学号_02_电气工程学_院自动化专业091 班2011 年 12 月 2_日指导老师:卢日昌2-5将“fly ”译成密码“ iob ”。编码规律:将字母a变成字母d,即变成其后的第3个字母,x变成a,y变成b,z变成c。提示:用赋初值的方法使c1,c2,c3的值 分别为f.l.y ,按编码规则改变c1,c2,c3后,将结果输出。#i nclude iostream.hvoid mai n()char c1=f,c2=l,c3=y;c1=(c1=a&c1=a&c2=a&c3=w)?c3+3:c3-23;coutc1c2c3e ndl;3-5编一
2、模拟袖珍计算器的完整程序,运行结果参见图 2,31。要求:输入两个操作数和一个操作符,根据操作符决定所做的运算。#in clude iostream.h void mai n()double x,y,z;char a;cout 请输入操作数 1 运算符 op 操作数 2xay;switch(a)case +:z=x+y;break;case -:z=x-y;break;case *:z=x*y;break;case /:z=x/y;break;coutxay=zendl;4-8求Sn二a+aa+aaa+aaaa+aaaaa (n个a),其中a是一个由随机函数产生的 19(包括 1 和 9)中的
3、一个正整数, n 是一个由随机函数产生的 510(包括 5 和 10)中的一个数。#include iostream.h#include stdlib.h#include time.h void main()int a,n,i;long sn=0,temp=0; srand(unsigned)time(NULL); a=1+rand()%9;n=5+rand()%6;couta=aendl; coutn=nendl; coutsn=;for(i=1;in;i+)temp=temp*10+a; sn=sn+temp;couttemp+;temp=temp*10+a;sn=sn+temp; cou
4、ttemp=snendl; 5-2 随机产生 20 个学生的计算机课程的成绩( 0100),按照从大到小的顺序排序, 分别显示排序前和排序后的结果#include iostream.h #include stdlib.h#include time.hvoid main()int a10,i,j,k,t;srand(time(0);for(i=0;i10;i+)ai=rand()%101; cout 排序前 endl; for(i=0;i10;i+)coutai ;for(i=0;i10;i+) k=i;for(j=0;jaj) k=j;t=ai,ai=ak;ak=t;coutn 排序后 end
5、l;for(i=0;i10;i+)coutai*m)m=p; p+;return m;void main()char s1000,*p;gets(s);p=max(s);while(*p!=0)if(*p=a&*p=z)*p=*p-32;p+;puts(s);7-6 编写程序,建立一个带有头结点的单项链表。链表结点中的数据为从键盘输入 的一个字符串,但要求将该字符串按由小到大的顺序组织到链表中的。#include #include #include #include struct node char data;struct node *next;void main()int i,j,k,n;c
6、har s100,t;struct node *head,*tail,*newnode,*p;head=new node;tail=head;gets(s);n=strlen(s);for(i=0;in-1;i+)k=i;for(j=i;jsj) t=sk;sk=sj;sj=t;for(i=0;idata=si;tail-next=newnode;tail=newnode;tail-next=NULL;p=head-next;while(p!=NULL)coutdata; p=p-next;cout abcd;void output()coutvvavv vvbvv c de ndl;doub
7、le p()return (1.0*d/c);;void mai n()pla ne s;s.i nput();s.output();cout s.p()e ndl;10-4设计一个圆类Circle类。其内包含两个虚函数area()和length(),利用抽象类的方法求一个圆内接正方形和圆外切正方形的面积和方程。提示:假设圆的半径 为r,则圆内接正方形的边长为 2r,圆外切正方形的边长为2r。#i nclude iostream.h#i nclude math.hclass Circle/ 定义类private:double R;public:Circle(double r)R=r;void
8、print()cout 圆的半径为: Rendl;virtual double length() / 定义虚函数 length ,计算内接正方形周长return (sqrt(2)*R)*4);virtual double area()/ 定义虚函数 area ,计算内接正方形面积return (sqrt(2)*R)*(sqrt(2)*R);virtual double length1()/ 计算外切正方形周长return (2*R*4);virtual double area1()/ 计算外切正方形面积return(2*R)*(2*R);void main()double r;cout 输入半
9、径: r;Circle *p;/ 抽象类Circle a(r);p=&a;p-print();cout 圆的内接正方形周长为: length()endl;cout 圆的内接正方形面积为: area()endl; cout 圆的外切正方形周长为: length1()endl;cout 圆的外切正方形面积为: area1()endl;总结本次程序设计环节遇到很多问题,比如指针函数,链表等问题,同时在设计的环节还存在很多小的细节方面的不足,比如循环结构用于比较数组或字符串的大小,随机数的产生等等。很多使用的系统自带的函数都必须加有此类函数说明的头 文件,否则会不予识别调用。数组和结构的作用很大,能使得不同类型的数据全部 打包在一起进行操作,大大减少了编程的工作量,使程序变得简单方便。类是对成 员信息的抽象, 其面向对象, 实现数据抽象和封装, 能很好的保护程序数据的安全, 同时也能方便维护。在实验编程时,碰到的最大问题是对这些抽象的语言指令不能 很好的掌握运用,很多概念问题模糊, 编程时要通过不断的尝试和调试来解决问题, 说明,对语言的掌握不是很好,所以还需要进一步加强对 cc+ 语言的认识,只有打下坚实的基础,才能更好的去完成编程任务从而达到更复杂问题的解决。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1