张凯强-程序设计实践报告_第1页
张凯强-程序设计实践报告_第2页
张凯强-程序设计实践报告_第3页
已阅读5页,还剩7页未读, 继续免费阅读

下载本文档

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

文档简介

1、程序设计实践报告姓名 张凯强 学号_0902100202_电气工程学_院自动化专业091 班2011 年 12 月2_日指导老师:卢日昌2- 5将“fly ”译成密码“ iob ”。编码规律:将字母a变成字母d,即变成其后的第3个字母,x变成a,y变成b,z变成c。提示:用赋初值的方法使c1,c2,c3的值 分别为,按编码规则改变c1,c2,c3后,将结果输出。#i nclude "iostream.h"void mai n()char c1='f',c2='l',c3='y'c1=(c1>='a'&am

2、p;&c1<二'w')?c1+3:c1-23;c2=(c2>='a'&&c2<='w')?c2+3:c2-23;c3=(c3>='a'&&c3<='w')?c3+3:c3-23;cout<<c1<<c2<<c3<<e ndl;3- 5编一模拟袖珍计算器的完整程序,运行结果参见图2,31。要求:输入两个操作数和一个操作符,根据操作符决定所做的运算。#in clude "iostream.h&

3、quot; void mai n()double x,y,z;char a;cout<<" 请输入操作数 1 运算符 op 操作数 2"<<endl;cin>>x>>a>>y;switch(a)case '+':z=x+y;break;case '-':z=x-y;break;case '*':z=x*y;break;case '/':z=x/y;break;cout<<x<<a<<y<<'=&#

4、39;<<z<<endl;4- 8求Sn二a+aa+aaa+aaaa+aaaaa (n个a),其中a是一个由随机函数产生的 19(包括 1 和 9)中的一个正整数, 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+

5、rand()%6;cout<<"a="<<a<<endl; cout<<"n="<<n<<endl; cout<<"sn="for(i=1;i<n;i+)temp=temp*10+a; sn=sn+temp;cout<<temp<<"+"temp=temp*10+a;sn=sn+temp; cout<<temp<<"="<<sn<<en

6、dl; 5- 2 随机产生 20 个学生的计算机课程的成绩( 0100),按照从大到小的顺序排序, 分别显示排序前和排序后的结果#include "iostream.h" #include "stdlib.h"#include "time.h"void main()int a10,i,j,k,t;srand(time(0);for(i=0;i<10;i+)ai=rand()%101; cout<<" 排序前 "<<endl; for(i=0;i<10;i+)cout<<

7、;ai<<" "for(i=0;i<10;i+) k=i;for(j=0;j<10;j+) if(ak>aj) k=j;t=ai,ai=ak;ak=t;cout<<"n 排序后 "<<endl;for(i=0;i<10;i+)cout<<ai<<" "6- 6编写函数max其功能是将字符串s中最大字符的地址返回,再编写一个主函 数,调用该函数,将字符串 s 中从最大字符开始的子串中的小写字母转换成大写字 母,然后输出新字符串s。例如,假设s的内容为“

8、qwertyou”贝卩从最大字符'y' 开始的子串为“ you”处理后的s为“qwertYOU”函数形式为:char*max ( char s);#include "iostream.h"#include "stdio.h" #include "string.h"char *max(char s)char *m=s,*p=s;while(*p!='0')if(*p>*m)m=p; p+;return m;void main()char s1000,*p;gets(s);p=max(s);while

9、(*p!='0')if(*p>='a'&&*p<='z')*p=*p-32;p+;puts(s);7- 6 编写程序,建立一个带有头结点的单项链表。链表结点中的数据为从键盘输入 的一个字符串,但要求将该字符串按由小到大的顺序组织到链表中的。#include <iostream.h>#include <stdio.h>#include <stdlib.h>#include <string.h>struct node char data;struct node *next;v

10、oid main()int i,j,k,n;char s100,t;struct node *head,*tail,*newnode,*p;head=new node;tail=head;gets(s);n=strlen(s);for(i=0;i<n-1;i+)k=i;for(j=i;j<n;j+)if(sk>sj) t=sk;sk=sj;sj=t;for(i=0;i<n;i+)newnode=new node;newnode->data=si;tail->next=newnode;tail=newnode;tail->next=NULL;p=head

11、->next;while(p!=NULL)cout<<p->data; p=p->next;cout<<endl;ASCII 码输出Chi na,在调用8- 2 编写程序,将题 1 建立的文本文件中的每一个字符及其所对应的 到屏幕上。例如文件的内容是“ I love China ”,则输出:I(73) (32)l(108)o(111)v(118)e(101) C(67)h(104)i(105)n(110)a(97) 注意:空格也是有效字符。这里我在当前工程文件下建立一个 abc.txt 文本文件并写入 I love 程序时输入文件名为 abc.txt

12、则可以完成程序的功能。#include ”stdio.h ”#include ”stdlib.h ”void main()char filename100;char ch;FILE *fp;printf(" 输入完整文件名 :");scanf("%s",filename);if(fp=fopen(filename,"r")=NULL)printf(" 文件打开失败 ");exit(1);while(ch=fgetc(fp)!=EOF)printf("%c(%d)",ch,(int)ch);fcl

13、ose(fp);printf("n");9- 5 设计一个航班类 Plane ,具有机型,班次,额定载客数和实际载客数等数据成 员,还具有输入、输出数据成员的功能以及求载客效率的功能。其中,载客效率 实际载客数 / 额定载客数。老师您可以输入 A380 CZ3260 500 300,分别为机型,班次,额定载客数,实际载 客数#include"iostream.h"class planeprivate:char a30;/ 机型char b30;/ 班次int c; /额定载客数int d; /实际载客数public:void in put()cin>

14、; >a>>b>>c>>d;void output()coutvvavv' 'vvbvv' '<<c<<' '<<d<<e ndl;double 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(),

15、利用抽象类的方法求一个圆内接正方形和圆外切正方形的面积和方程。提示:假设圆的半径 为r,则圆内接正方形的边长为2r,圆外切正方形的边长为2r。#i nclude "iostream.h"#i nclude "math.h"class Circle/ 定义类private:double R;public:Circle(double r)R=r;void print()cout<<" 圆的半径为: "<<R<<endl;virtual double length() /定义虚函数 length ,计算内

16、接正方形周长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<<" 输入半径: "<<endl;cin>>r;Circle *p;/ 抽象类Circle

17、a(r);p=&a;p->print();cout<<" 圆的内接正方形周长为: "<<p->length()<<endl;cout<<" 圆的内接正方形面积为: "<<p->area()<<endl; cout<<" 圆的外切正方形周长为: "<<p->length1()<<endl;cout<<" 圆的外切正方形面积为: "<<p->area1()<<endl;总结本次程序设计环节遇到很多问题,比如指针函数,链表等问题,同时在设计的环节还存在很多小的细节方面的不足,比如循环结构用于比较数组或字符串的大小,随机数的产生等等。很多使用的系统自带的函数都

温馨提示

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

评论

0/150

提交评论