张凯强程序设计实践报告.docx

上传人:b****1 文档编号:17450695 上传时间:2023-04-24 格式:DOCX 页数:10 大小:18.24KB
下载 相关 举报
张凯强程序设计实践报告.docx_第1页
第1页 / 共10页
张凯强程序设计实践报告.docx_第2页
第2页 / 共10页
张凯强程序设计实践报告.docx_第3页
第3页 / 共10页
张凯强程序设计实践报告.docx_第4页
第4页 / 共10页
张凯强程序设计实践报告.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

张凯强程序设计实践报告.docx

《张凯强程序设计实践报告.docx》由会员分享,可在线阅读,更多相关《张凯强程序设计实践报告.docx(10页珍藏版)》请在冰豆网上搜索。

张凯强程序设计实践报告.docx

张凯强程序设计实践报告

程序设计实践报告

姓名张凯强学号_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后,将结果输出。

#include"iostream.h"

voidmain()

{

charc1='f',c2='l',c3='y';

c1=(c1>='a'&&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<

}

3-5编一模拟袖珍计算器的完整程序,运行结果参见图2,31。

要求:

输入两个操

作数和一个操作符,根据操作符决定所做的运算。

#include"iostream.h"voidmain()

{

doublex,y,z;

chara;

cout<<"请输入操作数1运算符op操作数2"<

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<

}

4-8求Sn二a+aa+aaa+aaaa+・+aa…aaa(n个a),其中a是一个由随机函数产生的1~9(包括1和9)中的一个正整数,n是一个由随机函数产生的5~10(包括5和10)中的一个数。

#include"iostream.h"

#include"stdlib.h"

#include"time.h"voidmain()

inta,n,i;

longsn=0,temp=0;srand((unsigned)time(NULL));a=1+rand()%9;

n=5+rand()%6;

cout<<"a="<

for(i=1;i

{

temp=temp*10+a;sn=sn+temp;

cout<

}

temp=temp*10+a;

sn=sn+temp;cout<

5-2随机产生20个学生的计算机课程的成绩(0~100),按照从大到小的顺序排序,分别显示排序前和排序后的结果

#include"iostream.h"#include"stdlib.h"

#include"time.h"

voidmain()

{

inta[10],i,j,k,t;

srand(time(0));

for(i=0;i<10;i++)

a[i]=rand()%101;cout<<"排序前"<

cout<

for(i=0;i<10;i++)

{k=i;

for(j=0;j<10;j++)if(a[k]>a[j]){k=j;

t=a[i],a[i]=a[k];a[k]=t;}

}

cout<<"\n排序后"<

for(i=0;i<10;i++)

cout<

}

6-6编写函数max其功能是将字符串s中最大字符的地址返回,再编写一个主函数,调用该函数,将字符串s中从最大字符开始的子串中的小写字母转换成大写字母,然后输出新字符串s。

例如,假设s的内容为“qwertyou”贝卩从最大字符'y'开始的子串为“you”处理后的s为“qwertYOU”

函数形式为:

char*max(chars[]);

#include"iostream.h"

#include"stdio.h"#include"string.h"

char*max(chars[])

{

char*m=s,*p=s;

while(*p!

='\0')

{

if(*p>*m)

m=p;p++;

}

returnm;

}

voidmain()

{

chars[1000],*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

structnode

{chardata;

structnode*next;

};

voidmain()

{

inti,j,k,n;

chars[100],t;

structnode*head,*tail,*newnode,*p;

head=newnode;

tail=head;

gets(s);

n=strlen(s);

for(i=0;i

{k=i;

for(j=i;j

if(s[k]>s[j])

{t=s[k];s[k]=s[j];s[j]=t;}

}

for(i=0;i

{

newnode=newnode;

newnode->data=s[i];

tail->next=newnode;

tail=newnode;

}

tail->next=NULL;

p=head->next;

while(p!

=NULL)

{cout<data;p=p->next;

cout<

}

8-

ASCII码输出

China,在调用

2编写程序,将题1建立的文本文件中的每一个字符及其所对应的到屏幕上。

例如文件的内容是“IloveChina”,则输出:

I(73)(32)l(108)o(111)v(118)e(101)C(67)h(104)i(105)n(110)a(97)注意:

空格也是有效字符。

这里我在当前工程文件下建立一个abc.txt文本文件并写入Ilove程序时输入文件名为abc.txt则可以完成程序的功能。

#include”stdio.h”

#include”stdlib.h”

voidmain()

{

char[100];

charch;

FILE*fp;

printf("输入完整文件名:

");

scanf("%s",);

if((fp=fopen(,"r"))==NULL)

{

printf("文件打开失败");

exit

(1);

while((ch=fgetc(fp))!

=EOF)

{

printf("%c(%d)",ch,(int)ch);

}

fclose(fp);

printf("\n");

}

9-5设计一个航班类Plane,具有机型,班次,额定载客数和实际载客数等数据成员,还具有输入、输出数据成员的功能以及求载客效率的功能。

其中,载客效率实际载客数/额定载客数。

老师您可以输入A380CZ3260500300,分别为机型,班次,额定载客数,实际载客数

#include"iostream.h"

classplane

{

private:

chara[30];

//机型

charb[30];

//班次

intc;//

额定载客数

intd;//

实际载客数

public:

voidinput()

{cin>>a>>b>>c>>d;}

voidoutput()

{coutvvavv''vvbvv''<

doublep()

{return(1.0*d/c);}

};

voidmain()

{

planes;

s.input();

s.output();

cout«""<

}

10-4设计一个圆类Circle类。

其内包含两个虚函数area()和length(),利用抽象

类的方法求一个圆内接正方形和圆外切正方形的面积和方程。

提示:

假设圆的半径为r,则圆内接正方形的边长为2r,圆外切正方形的边长为2r。

#include"iostream.h"

#include"math.h"

classCircle//定义类

private:

doubleR;

public:

Circle(doubler)

{R=r;}

voidprint()

{

cout<<"圆的半径为:

"<

}

virtualdoublelength()//定义虚函数length,计算内接正方形周长

{

return((sqrt

(2)*R)*4);

}

virtualdoublearea()//定义虚函数area,计算内接正方形面积

{

return((sqrt

(2)*R)*(sqrt

(2)*R));

}

virtualdoublelength1()//计算外切正方形周长

{

return(2*R*4);

}

virtualdoublearea1()//计算外切正方形面积

{

return((2*R)*(2*R));

};

voidmain()

{

doubler;

cout<<"输入半径:

"<

cin>>r;

Circle*p;//抽象类

Circlea(r);

p=&a;

p->print();

cout<<"圆的内接正方形周长为:

"<length()<

cout<<"圆的内接正方形面积为:

"<area()<

"<length1()<

cout<<"圆的外切正方形面积为:

"<area1()<

总结

本次程序设计环节遇到很多问题,比如指针函数,链表等问题,同时在设计的

环节还存在很多小的细节方面的不足,比如循环结构用于比较数组或字符串的大

小,随机数的产生等等。

很多使用的系统自带的函数都必须加有此类函数说明的头文件,否则会不予识别调用。

数组和结构的作用很大,能使得不同类型的数据全部打包在一起进行操作,大大减少了编程的工作量,使程序变得简单方便。

类是对成员信息的抽象,其面向对象,实现数据抽象和封装,能很好的保护程序数据的安全,同时也能方便维护。

在实验编程时,碰到的最大问题是对这些抽象的语言指令不能很好的掌握运用,很多概念问题模糊,编程时要通过不断的尝试和调试来解决问题,说明,对语言的掌握不是很好,所以还需要进一步加强对c\c++语言的认识,只有

打下坚实的基础,才能更好的去完成编程任务从而达到更复杂问题的解决。

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

当前位置:首页 > 农林牧渔 > 林学

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

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