程序设计基础教案232课时——数组程序举例.docx

上传人:lao****ou 文档编号:444760 上传时间:2023-11-18 格式:DOCX 页数:3 大小:34.21KB
下载 相关 举报
程序设计基础教案232课时——数组程序举例.docx_第1页
第1页 / 共3页
程序设计基础教案232课时——数组程序举例.docx_第2页
第2页 / 共3页
程序设计基础教案232课时——数组程序举例.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《程序设计基础教案232课时——数组程序举例.docx》由会员分享,可在线阅读,更多相关《程序设计基础教案232课时——数组程序举例.docx(3页珍藏版)》请在第一文库网上搜索。

1、教案序号23周次16授课形式新授授课章节名称数组程序举例教学目的掌握数组程序教学重点数组程序教学难点数组程序使用教具机房课外作业课后体会授课主要内容1.15.5程序设计举例例5.15用计算机洗扑克牌。基本思路是:将54张扑克牌统一编号为0,1,2,52,53,然后随机地从中一一抽取一张牌,并依次放起,形成新的序列。具体要解决两个问题:如何存储54张扑克牌;在此基础上如何一一抽取。(1)用一维数组存放54张扑克牌:intpk54=501,502,101,102,103,104,105,106,107,108,109,110,111,112,113,201,202,203,204,205,206,

2、207,208,209,210,211,212,213,301,302,303,304,305,306,307,308,309,310,311,312,313,401,402,403,404,405,406,407,408,409,410,411,412,413(2)随机抽牌算法产生随机抽牌的算法如图所示:Pk下标012r5253Pk元素值O102O1061213(a)初始化后是扑克粼组数组Pk初始化后的情形如图5.10(a)所示。进行抽取操作首先在0至53之间产生一个随机数r(=rand()%53),将pkO与PkH交换,如图5.10(b)所示。接着在1至53之间产生一个随机数r(=rand

3、()%(531)+1),将pk1与pkr交换,如图5.如(C)所示。一般来说,是在i至53之间产生一个随机数r(=rand()%(53-i)+i),将pki与pkr交换。,直到前53张牌被全部交换。这里,rand()%53的随机数空间如图5.11(a)所示;rand()%(53-i)中的i是将随机数的空间减小一个i大小,如图5.11(b)所示;而rand()%(53i)+i中的后一个i是将减小了的随机数空间移动一个i距离,如图5.11(C)所示。O53(a) randO%53的随机数空间053-i53(b) rand()%(53-i)的随机数空间0i53(c) rand()%(53-i)+i的

4、随机数空间图5.11由以上分析写出源程序如下:#inc1ude#inciude#inc1udeintmain()(inti,temp,r;intpk54=501,502,101,102,103,104,105,106,107,108,109,110,111,112,113,201,202,203,204,205,206,207,208,209,210,211,212,213,301,302,303,304,305,306,307,308,309,310,311,312,313,401,402,403,404,405,406,407,408,409,410,411,412,413;printf(n,);srand(unsignedint)time(NU11);for(i=0;i53;i+)r=rand()%(53-i)+i+1;/加1为了洗最后一张牌temp=pki;pki=pkr;pkr=temp;printf(u%d,pki);)printf(%dn,pki);)运行结果:随机,每次运行都会得到一副不同的扑克牌。

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

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服