- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
for (i=1;i=20;i++) { cin num; switch(num) { case 0 : count[0]++;break; case 1 : count[1]++;break; case 2 : count[2]++;break; …- } } for (i = 0; i 20; i++) { cin num; count[num]++; } 例2 数字统计 问题 某学校有1000位老师,分布在20个不同的学院中,每个学院最多有12个系,请你编写一个程序,输入每位老师的所在院、系的编号(院编号1-20,系编号1-12),打印出各个系老师的数量。 分析 你的解决方案? 例3 找出素数 问题: 请编写程序,输出100以内的所有素数; 典型的解决方法: 循环(i 从 2 至 100) 设置一个标识 p = 0; 循环(j 从 2 至 i-1) 如果(i mode j == 0)p = 1 如果p = 0,输出 i 将数组中 2的倍数、3的倍数、……100倍数全部划掉; 那么,剩下的数就是素数; 将数组所有元素设置为0; 筛出所有合数: 分别计算2, 3, 4, 5, …, 99自我相加多次的数值; 每次计算得到的结果都是一个合数,在数组中标记该数字被“筛掉”; 每次计算过程中,只要相加结果没有达到100就继续自我相加; 根据标记输出所有没有被筛掉的数字; 例3 找出素数 筛法求素数: 埃拉托斯特尼(Eratosthenes,约公元前274~194年)发明,又称埃拉托斯特尼筛子。 基本思路 不是挑选出所有素数,而是筛掉所有的合数; 例3 找出素数 稍作优化: 可以让 2, 3, 4, 5, …, c中的每个数自我相加多次,来获得100之内的所有合数; c如何确定? 根据初等数论,若n为合数,则n的最小正因数c满足: 数组的作用 不仅 当你有一些数据要进行存储时: 用于存放一系列数据类型相同的数据; 还能 当你的处理对象是连续的整数时: 利用数据与下标间的对应关系,解决问题; 03 C++ 程序中的数组 数组的定义 数组的定义 类型 数组名 [ 常量表达式 ] float sheep[10]; int a2001[1000]; 强调:数组下标从0开始 int a[10]={ 1,2,3,4,5,6,7,8,9,10}; 关于数组的定义 (1/3) 关于数组的定义 (2/3) 关于数组的定义 (3/3) 数组的初始化 int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 数组的初始化 (1/5) 数组的初始化 (2/5) 数组的初始化 (3/5) 数组的初始化 (4/5) 数组的初始化 (5/5) 从 一维数组 到 二维数组 int a[12] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; 二维数组 int a[3][4]; 0列 1列 2列 3列 0行 1 a[0][0] 2 a[0][1] 3 a[0][2] 4 a[0][3] 1行 5 a[1][0] 6 a[1][1] 7 a[1][2] 8 a[1][3] 2行 9 a[2][0] 10 a[2][1] 11 a[2][2] 12 a[2][3] 二维数组的初始化 (1/6) 二维数组的初始化 (2/6) 二维数组的初始化 (2/6) 二维数组的初始化 (4/6) 二维数组的初始化 (5/6) 二维数组的初始化 (6/6) 二维数组 0列 1列 2列 3列 0行 1 a[0][0] 2 a[0][1] 3 a[0][2] 4 a[0][3] 1行 5 a[1][0] 6 a[1][1] 7 a[1][2] 8 a[1][3] 2行 9 a[2][0] 10 a[2][1] 11 a[2][2] 12 a[2][3] int a[3][4]; a[3][4]; a[4][3][4]; a[3][4]; a[3][3][4]; a[3][4]; a[2][3][4]; a[3][4]; a[1][3][4]; a[3][4]; a[0][3][4]; 三维数组 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 三维数组 int a[5][3][4]; 三维数组 int a[5][3][4]; int a[3][4]; 数组的作用 例1 数字统计 输入20个0~9之间的整数
文档评论(0)