第9讲一维数组.doc-IIS7.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9讲一维数组.doc-IIS7.doc

让程序具有处理大量数据的能力一 曾经我们做过如下的练习,所涉及到数据都同类型的一串数据,如下面的统计题是一串实数,兔子生仔的是一串长整型,我们的同学曾经写出F(n)=F(n-1)+F(n-2)表达式,今天过后,这位同学的作法完全正确了。 例5 输入一串正数(若输入0或负数则结束),统计其中最大值、最小值、数据个数、平均值。 (1)定义实数变量x,xmax,xmin, xaver,xsum整型变量nCount; (2)输入1个正数给x (3)xmax=x,xmin=x,xsum=x,nCount=1 (4)当x0时重复以下事情: 输入1个正数给x 如果xmaxx则xmax=x 如果xminx则xmin=x; xsum新值=xsum现值+x 个数nCount新值=nCount现值+1 显示nCount,最大,最小,总和 (5)求平均值xaver=xsum/nCount; (6)显示nCount,最大,最小,总和,均值 习题9兔子生仔问题Fibonacci序列。第1月买了1对(雌雄)兔子,第2月仍是这1对但已经有喜了,第3月新兔子来到人间此时共有2对,第4月有1+2=3对,请问多个月后兔子数超过1000只! Fn=表示当前月的兔子数 Fn1=表示上月的兔子数 Fn2=表示上月的上月的兔子数 最初: Fn2=1 Fn1=1 Fn=Fn2+Fn1=2 此式称为递推公式,由此依次推出2,3,4,5,...月的兔子数! 数组:同类数据的集合 好处:更接近人类的思维 定义数组: 数据类型 数组名称[数组大小] 如:double score[1000]; 是1000个double型实数的集合, 第1个元素写为score[0], 0为其序号,是从0开始计数呀!不同咱们的习惯呀! 第2个元素写为score[1], 第3个元素写为score[2], 。。。 第i个元素写为score[i-1], 。。。 第1000个元素写为score[999] 特别提示: 数组一定要先定义后使用,跟普通变量一样。 数组的大小要留有足够的余地,尽管我们工管院只有200多人,也要给多一点score[1000]。!! 例2 long F[100]; 这是兔子数组,是100个long型整数的集合, 第1个元素写为F[0], []为其序号,是从0开始计数呀!不同咱们的习惯呀! 第2个元素写为F[1], 第3个元素写为F[2], 。。。 第i个元素写为F[i-1], 。。。 第100个元素写为F[99] 例1:重写兔子问题 兔子生仔问题Fibonacci序列。第1月买了1对(雌雄)兔子,第2月仍是这1对但已经有喜了,第3月新兔子来到人间此时共有2对,第4月有1+2=3对,请问多个月后兔子数超过1000只! 先判断后算,要看前一个是否小于n0 先算后判断,看当前元素是否小于n0 从此例中可以看出数组的使用方法 F[0]=1; F[1]=1; F[i]=F[i-1]+F[i-2]; 是给元素赋值,可为常数,也可用其他元素的值组合得到。 (F[i]n0) 数组元素与其他值进行比较 printf(i=%d F[%d]=%ld\n,i,i,F[i]); 显示数组元素值,与下图比较加深理解 例2 输入一串正数(若输入0或负数则结束),统计其中最大值、最小值、数据个数、平均值。 定义实数变量x,xmax,xmin, xaver,xsum,整型变量nCount=0,i=0,定义实数数组score. 输入1个正数给x 当x0时重复以下事情: 将x存到数组的位置nCount中 位置nCount=nCount+1; 输入1个正数给x (4)显示数组score的各元素 xmax=score[0];xmin=score[0];xsum=score[0], i=1; 当(inCount)时,重复以下: 如果xmaxscore[i]则xmax=score[i] 如果xminscore[i]则xmin=score[i]; xsum新值=xsum现值+score[i]; (7)求平均值xaver=xsum/nCount; (8)显示nCount,最大,最小,总和,均值 剩下的语句大家自己写吧 语句5中定义了数组score[1000],语句10是给数组中位于nCount处的元素赋值,语句16到18显示数组中每个位置的值。 习题1:补充以下代码产生10个20以内的实数,依次输出0-最后一个元素,再输出最后一个元素到元素0. 习题2:补充以下代码产生10个20以内的整数,依次输出0-最后一个元素,再依次输出其中偶数。 (int) 习题3:补充以下代码产生10个20以内的整数,依次输出0-最后一个元素,再依次计算其中偶数的和,并输出来。 习题4:补充以下代

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档