第6章_利用数组处理批量数据.pptVIP

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 本章要点 主要内容 6.1 为什么要用数组 6.2 定义和引用一维数组 6.3 二维数组的定义和引用 6.4 字符数组 6.5 提高部分 6.1 为什么要用数组 6.3 二维数组的定义和引用 6.3.1 定义二维数组 6.3 二维数组的定义和引用 6.3.2 引用二维数组的元素 6.4 字符数组 6.4.3字符串和字符串结束标志 在C语言中,将字符串作为字符数组来存放。前面的例子就是用一个一维的字符数组存放一个字符串“I am happy”中的字符。这个字符串的实际长度与数组长度相等。有时,人们关心的是有效字符串的长度而不是字符数组的长度。例如,定义一个字符数组长度为100,而实际有效字符只有40个。 关于strcpy函数的几点说明 解题思路 程序如下: #include stdio.h void main() { char string[81]; int i,num=0,word=0; char c; gets(string); for (i=0;(c=string[i])!=′\ 0′;i++) if(c==′ ′) word=0; else if(word==0) { word=1; num++; } printf(″There are %d words in the line.\n″,num); } 运行情况如下: I am a boy.↙ There are 4 words in the line. C语言规定在定义和引用二维数组时采用两对括号: 二维数组定义的一般形式为 类型说明符 数组名[常量表达式][常量表达式]; 6.5 提高部分 6.5.1为什么在定义二维数组时采用两对双括号的形式 例如:定义a为3×4(3行4列)的数组,b为5×10(5行10列)的数组。如下: float a[3][4],b[5][10]; 这样做有什么好处呢? printf(″array b:\n″); for (i=0;i3;i++) { for(j=0;j2;j++) printf(%5d″,b[i][j]); printf(″\n″); } } /*程序结束*/ 运行结果如下: array a: 1 2 3 4 5 6 array b: 1 4 2 5 ??? 3? 6 说明:如果把第7行:“for (i=0;i2;i++)”改为“for (i=0;i=2;i++)”,意味着什么?结果会怎样? 例题 6.5 有一个班30个学生,己知每个学生有5门课的成绩,要求输出平均成绩最高的学生的成绩以及该学生的序号。 解题思路 对本题而言,宜用二维数组,用一行中的各元素存放一个学生的成绩,即行代表学生,列代表一门课的成绩。要存放30个学生5门课的成绩,要用一个30*5的二维数组。另外,由于要比较各人的平均成绩,因此,对每个学生来说,应该存放6个数据,每人平均成绩要计算出来,并存放在数组中。这样,数组的大小就应该是30*6。 设计算法:(1)求每人平均成绩,放在数组每一行的最后一列中; (2)找出最高的平均分,和该学生的序号; (3)输出最高的平均分,和该学生的序号。 程序如下: #include stdio.h void main() {int i,j,max_i;float sum,max=0; float s[5][6]={{78,82,93,74,65},{91,82,72,76,67}, {100,90,85,72,98},{67,89,90,65,78}, {77,88,99,45,89}} for (i=0;i5;i++) {sum=0; /* 使sum初值为0 */ for (j=0;j5;j++) sum=sum+s[i][j]; /* 累加序号为j的学生各门课的成绩 */ s[i][5]=sum/5;} /* 求序号为j的学生各门课的的平分 */ for (i=0;i5;i++) if (s[i][5]max) /* 逐个将5个学生的平均分与max比较 */ {max=s[i][5];max

文档评论(0)

huangxiong1 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档