




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,主讲老师:,欢迎您到(千锋学院)来学习!数组专题,.,内容摘要,基本概念和定义用法和常见错误应用实例:计算向量内积应用实例:统计随机数应用实验:直方图多维数组应用适用范围和不适用情况描雷游戏,.,基本概念和定义,一种复合数据类型,用于存储一组相同类型的元素。定义方法intcount4;intcount=1,2,3,4;/编译器会计算长度structstudentchar*name;intage;classSaif10;/10个学生,.,用法和常见错误,随机访问:countii=0,1.length-1count0=7;counti+1=counti*2;+count2;错误:数组相互赋值inta5=4,3,2,1;/定义数组aintb5=a;/错误,把数组a赋值给数组b错误:用数组类型作为函数的参数或返回值用全局数组或指针替代,.,用法和常见错误,练习:创建一个长度为100的整形数组,分别给元素赋值为0,1,2,398,99练习:创建一个长度为100的整形数组,分别给元素值为50,51,5298,99,0,1,2,347,48,49练习:创建两个长度为100的整形数组a和b,给a赋上初值,然后把a里面每个元素的值复制到b里。练习:创建一个长度为10的字符型数组,初始化为abcdefghij后打印出各个元素;然后把a里面的元素首尾到置过来,并打印。,.,用法和常见错误,计算数组长度用数组大小除以元素大小,.,用法和常见错误,错误:下标越界,小于0或大于length-1,运行时出严重错误,不易发现原因for(i=0;i0,.,用法和常见错误,.,应用实例:计算向量内积,计算平面向量a(1,1)和b(3,0)的内积inta2=1,1;intb2=3,0;intcc=0;for(i=0;i2;i+)c+=ai*bi;空间向量a(1,1,1)和b(2,5,3),怎么计算夹角呢?提示:先计算内积,再求反余弦,.,应用实例:统计随机数,使用C语言可以产生伪随机数,用于数学计算intx=rand()%10;设定种子,每次都产生不同的伪随机数序列srand(time(NULL);思考与练习不设定种子,产生10个伪随机数,运行多次比较结果设定种子,产生10个伪随机数,运行多次比较结果怎样产生1019的伪随机数?怎么产生01内的随机小数呢?了解:产生泊松分布,高斯分布,.,应用实例:统计随机数,使用rand()产生10以内的随机整数,怎么验证随机性呢?人工记录,产生100个并统计每一个数出现次数是否几乎相同写程序验证,使用数组来记录每次产生的数最后统计并打印出各个数出现次数,进行比较for(inti=0;iN;i+)ai=rand()%10;练习,实验代码见课本P103产生100个随机数,随机性怎么样?产生1000个随机数呢?10000,100000呢?样本越大,各个数出现的次数越趋近相等,.,应用实验:直方图,用数组记录上一节中各个数出现的次数,以作处理。intmain(void)inthowmanyones=howmany(1);inthowmanytwos=howmany(2);intmain(void)inti,histogram10=0;gen_random(10);for(i=0;iN;i+)histogramai+;,.,数组应用,创建一个长度为20的整形数组,用100以内的随机数初始化每个元素;然后对整个数组按元素从小到大排序。创建一个长度为20的整形数组,用100以内的随机数初始化每个元素;然后计算平均数和均方差。创建一个长度为1000的整形数组,用100以内的随机数初始化每个元素;查找大于等于20并小于30的元素个数。创建一个长度为100的字符型数组,随机生成一个az范围内的字符来初始化所有元素,并在数组里查找a出现的次数。,.,多维数组应用,数组嵌套,一个数组的元素是另外一个数组inta32=1,2,3,4,5;/a0是一个数组inta2=1,2,3,4,5,;/a00=1,.,多维数组应用,应用:存储矩阵,用于解多元方程组Doublea34=1,2,3,5,/x1+2x2+3x3=5;2,3,3,7,/2x1+3x2+3x3=7;5,8,6,10;/5x1+8x2+6x3=10;经消元得到下三角矩阵a1,0,0,8,1,1,0,2,5,8,6,10行交换交换两个子数组的每个元素行加减两个子数组的每个元素分别加减,.,多维数组应用,遍历aNM行优先for(i=0;iN;i+)for(j=0;jM;j+)aij+;列优先for(j=0;jM;j+)for(i=0;iN;i+)aij+;思考:哪个性能更好一些?为什么?提示:哪个缓存命中率高?能否用这个办法测量缓存?,.,适用范围和不适用情况,适用范围大量数据,类型相同需要快速随机访问不适用情况在数组中动态插入和删除元素,效率低下数组的大小频繁变化稀疏矩阵,浪费空间,a,0,0,f,e,d,c,0,f,e,d,c,b,.,描雷游戏,大练习:带领同学用二维数组来写一个简单的描雷程序用5*5的二维数组表示地图随机生成有雷的位置未知的坐标用?表示玩家从键盘输入一个坐标如果这个位置上无雷,就显示出上下左右总雷数获胜:玩家把非雷位置全部探测出来失败:玩家触
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地热开发增强型技术-洞察及研究
- 不良事件管理办法分级
- 专家评价考核管理办法
- 中国石化技改管理办法
- 行政物品存放管理办法
- 东莞公司危机管理办法
- 落实军休干部管理办法
- 规划项目资料管理办法
- 管理办法GDp考核
- 菏泽渣土车管理办法
- 2025-2030中国智慧城市建设项目投资规模与运营效益评估报告
- 校园常见传染病防控知识课件
- 百师联盟2025-2026学年高三上学期开学摸底联考化学试卷
- 2025贵阳市菜篮子集团有限公司招聘11人笔试备考题库及答案解析
- (2025年标准)蔬菜订单收购协议书
- 茶壶课件教学课件
- 放射卫生知识培训内容描述课件
- 2025年锂电池隔膜行业规模分析及投资前景研究报告
- 2025-2026学年人教版(2024)初中物理八年级上册教学计划及进度表
- 孟良崮战役课件
- 幼儿园物资采购应急预案(3篇)
评论
0/150
提交评论