ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:27.44KB ,
资源ID:18782995      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18782995.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(程序设计综合实验报告册Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

程序设计综合实验报告册Word格式文档下载.docx

1、/中文的查询函数void Query1() printf(=n) printf(“此账户有%.2f元 n,sum); /对sum已初始化pause/中文的存钱函数void Deposit1(float *p) float x;=n 输入您要存的数目: scanf(%f,&x); *p+=x; /中文的取钱函数void WithDraw1(float *p) float y; int a=1;=n输入您要取的数目: while(a) scanf(y); if(ysum) printf(n余额不足,按任意键后重新输入n else *p-=y; a=0; 实验二:进制转换器 写一个进制转换器,实现十

2、进制、二进制、十六进制的相互转换1、转换要求包括整数和小数;2、提供清晰、有好的用户界面;3、各种转换可以反复多次执行,直到用户选择”退出“按钮。void main() .void Mainmenu() ./二进制到十进制和十六进制void BtoDH() int iExit=0;iExit) system( string s1,s2,s3,s; int i,len; . /输入字符串s s=s1; len=s1.length(); for(i=0;ilen;i+) s3=s1.substr(0,1); /截取从0到1的字符,包括0不包括1 s1=s1.substr(1,s1.length()

3、-1); if(s3=. s2=s.substr(0,i); /截取0到i的字符 break; if(s2.length()=0) s2=s; s1=; int in=BtoDint(s2); /把二进制数分离开后,调用整数部分 float dou=BtoDdecimal(s1); /调用二进制小数部分 dou=in+dou; string ss1,ss2; ss1=BtoHint(s2,1); ss2=BtoHint(s1,0); . /输出十进制形式和十六进制形式 /二进制整数到十进制整数int BtoDint(string s) int i,ss=0,len,l; len=s.lengt

4、h()-1; l=len; for(i=0;=len; string ch=s.substr(0,1); s=s.substr(1,s.length()-1); if(ch=1 ss+=pow(2,l); l-; else return ss; /二进制小数到十进制小数float BtoDdecimal(string s) float ss=0.0; int i,len,l; l=-1; ss+=pow(2,i); /pow函数返回值为计算2的i次方/十六进制到二进制和十进制void HtoBD() int iExit=0,len,i; string s,s1,s3,s2,ss1,ss2; c

5、outs1; s3=s1.substr(0,1); s1=s1.substr(1,s1.length()-1); s2=s.substr(0,i); if(s2.length()=0) ss1=HtoBint(s2,1); ss2=HtoBint(s1,0); int in=BtoDint(ss1); float dou=BtoDdecimal(ss2); . /输出二进制形式和十进制形式string HtoBint(string s,int in) string s1; int len; len=s.length(); string ret= for(int i=0; s1=s.substr

6、(0,1); if(in=1) ret=HtoBbit(s1)+ret; ret+=HtoBbit(s1); return ret;/十六进制字符与二进制字符串的互相转换string HtoBbit(string s) string ret; if(s=0) ret=0000 ./二进制到十六进制string BtoHint(string s,int in) int len=s.length(); int t=len%4; len=(4-t)%4; while(len-) s=+s; s+= int num=s.length()/4,i; string ret;num; string temp

7、=s.substr(0,4); s=s.substr(4,s.length()-4); ret+=BtoHbit(temp); /BtiHbit函数使二进制字符串与十六进制字符互相转换,与上面相似,略写/十进制到二进制和十六进制void DtoBH() double num,n2; int iExit=0,len,n1; string s1,s2,s3,s4;please input the number and the length of decimal num n1=int(num); n2=num-n1; s1=DtoBdecimal(n2,len); s2=DtoBint(n1); s

8、3=BtoHint(s2,1); s4=BtoHint(s1,2); . /输出二进制形式和十六进制形式/十进制小数到二进制小数string DtoBdecimal(double in,int len) double p=in; p*=2; if(p=1) ret+= p-=1.0;/十进制整数到二进制整数string DtoBint(int in) if(in=0) return int q=in,remain; while(q) remain=q%2; q=q/2; if(remain) ret=+ret; else ret=实验三:随机数生成、中奖者 生成一组均匀分布的伪随机数,根据随机

9、数编写一个抽奖程序1、能够根据用户的输入,控制随机数生成的数目,随机数用动态数组保存;2、能够根据用过的输入,控制随机数的范围:比如能够生成一组【a,b】范围内的随机数;3、由用户输入抽奖者人数N;4、为每一个人分配一个代号(类似于名字)和一个随机号码(即抽奖票号,加你控制在1-N之间)并将其打印出来;5、由机器摇号:生成一个在1-N之间的随机数作为中奖号码,查找中奖者,并公布中奖者信息(注:可以有多人同时中奖);6、如果没有对应的中奖者,需要将该号码公布出来,然后重新生成一个中奖号码,知道中奖者存在为止。#includetime.hstringusing namespace std;stat

10、ic unsigned holdrand=1L;void Lottery(int n);void mysrand(unsigned seed);int myrand(void);int llottery(int num);int n;struct PEOPLE char *name; int number;mem100; coutn;=endl;Information of all: Lottery(n);void Lottery(int n) int i,N,k; int num;Input N:N; mysrand(unsigned)time(NULL); k=myrand(); k=k%

11、(N-1)+1; memi.number=k;endli+116)&0x7fff);int llottery(int num) int i,j=0;The invalid lottery number is:num if(memi.number=num) coutThe invalid is:his number ismemi.number j+; if(j=0) return 0; else return 1;实验四:插入排序、快速排序 1、生成一组随机整数,对该组数据进行排序,采用插入排序法; 2、生成一组随机整数,对该组数据尽心排序,采用快速排序法。1、数组长度由用户输入;2、随机数范围

12、在【100,10000】范围内;3、采用插入排序法和快速排序法进行排序;4、根据用户要求,可以实现增序、降序两种排序。1、插入排序 int main() . /用户定义数组长度len lottery(len);void lottery(int len) int i; char ch; /time函数返回1970年1月1日00:00:00起距函数调用时相聚的时间,以秒为单位,在的头文件中 . if(ch=1) swap1(b,len); /升序 else if(ch=2) swap2(b,len); /降序bivoid mysrand(unsigned seed). int myrand(voi

13、d) /此函数在实验三里有写 . h=h%(10000-100)+100; /控制随机数范围在【100-10000】之内, return h;void swap1(int *c,int n) int i,j,x,k=1; c0=myrand(); for(j=1;j=0&cix) ci+1=ci; i-; ci+1=x;2、快速排序 int A100,n,k; . /用户定义数组长度 int exit=0;exit) for(int i=0; k=myrand(); /与产生随机数有关的函数略,实验三有写 k=k%(MAX-MIN)+MIN; /控制随机数的范围,MIN=1,MAX=100,在

14、开始有定义 Ai=k; mainmenu(); /mainmenu函数为主菜单,略写 ch=getch(); switch(ch) case QuikUp(A,0,n-1); print(A,n); break;case QuikDown(A,0,n-1); case3exit=1; default:printf(error!n/升序排序void QuikUp(int a,int p,int r) if(p=r) return; int i=p; int j=r+1; int x=ap; while(1) while(i=r&a+i=p&a-j if(i=j) break; Swap(&ai,

15、&aj); /Swap函数为交换*p与*q的值,略写 if(i=j) j-; ap=aj; aj=x; QuikUp(a,p,j-1); QuikUp(a,j+1,r);实验五:模块计时器、常用排序算性能测试设计一组计时函数,封装所有计时函数,采用测试性能函数对快速函数、插入函数、选择排序算法进行性能测试。1、计时精确:封装的高精度的计时API函数QueryPerformanceCounter(),可以达到微秒级的精度;2、使用简单:只用在待测试的模块前后加上两个宏BM_START和BM_END,不需要对结果进行计算,也不需要考虑对各个模块结果数据的维护;3、多组测试:最多可以同时实现20个模

16、块的测试,及可以保存20组数据;4、结果输出独立:在系统运行结果时,只需要用一个函数就可以把计时结果保存在一个文本文件里5、对一组数据进行排序;6、数组长度为10000,数组应随机产生;7、为了保证测试数据的稳定,每种排序算法运行10次,计算总的时间 int retBENCHMARK_MAX_COUNT; /BENCHMARK_MAX_COUNT为模块总数 InitBenchmark(); BMTimerStart(1); /开始计时10; sort_quick(a,10000); /快速排序,实验四有写,略写 sort_chr(a,10000); /插入排序,实验四有写,略写 sort_ch

17、oice(a,10000); /选择排序,略写 BMTimerEnd(1); /结束计时 WriteData(1,Test1D:log.txt /将数据填入文件中void InitBenchmark() ResetBenchmarkCounters(); /对数组gStats,gEnds,gCounter清零 GetClockFrequent(); /获得机器内部定时时钟频率void BMTimerStart(int iModel) LARGE_INTEGER litmp; QueryPerformanceCounter(&litmp); /提高精度,在头文件windows.h中 gStart

18、siModel=litmp.QuadPart;void BMTimerEnd(int iModel) gEndsiModel=litmp.QuadPart;void WriteData(int TotalCount,string sModel,string path) /open the file and move pointer to the end of the file,需要头文件fstreamofstream pFile(path.data(),ios:app|ios:out); /1 Header string title,s2; string sperator=rnrn=rn ti

19、tle=Model-+sModel; char temp1100,temp2100; sprintf(temp1,rnIteration Counter:5drn,TotalCount); title+=temp1; /2 Times string s; double gTotal=0;BENCHMARK_MAX_COUNT;i+)/将结果写进文件 if(gCountersi=0) continue; sprintf(temp1,Total %d,i); int len=strlen(temp1)/8; /* calculate the number of t s+=temp1; for(;len2;len+) s+=t sprintf(temp2,%d msrn,(int)(gCountersi/1000);

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

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