孙刚-C语言程序设计 第8章1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章 本章要点 掌握数组的定义和引用方法、存储结构 和初始化方法。 字符数组的使用方法。 掌握字符串处理函数的使用方法。 ★数组在实际运算中的应用。 §8.1 数组的定义和引用 问题 计算全班30位同学某门课程的平均成绩 解决方法 设置30个float型变量来记录成绩 设置一个有30个float型元素的数组来记录成绩 问题分析 参与运算的平均成绩,其数据类型都相同(符合数组特点) 30位同学属于一个班,用数组可把30个成绩表示成一个整体 用数组的优点 便于循环处理 提高效率,便于书写、检查、修改(对海量数据效果更明显) #include stdio.h void main() { int i,a[50],b[50],c[50];/*3个一维数组分别表示50名学生的语文、数学、英语成绩*/ float average1=0,average2=0,average3=0; for(i=0;i50;i++) /*分别输入50名学生的语文、数学、英语成绩*/ scanf(“%d%d%d”,a[i],b[i],c[i]); for(i=0;i50;i++) /*求50名学生各门课的成绩之和*/ { average1+=a[i]; /*求语文成绩的和*/ average2+=b[i]; /*求数学成绩的和*/ average3+=c[i]; /*求英语成绩的和*/ } average1=1.0*average1/50; /*求出50名学生的语文平均成绩*/ average2=1.0*average2/50; /*求出50名学生的数学平均成绩*/ average3=1.0*average3/50; /*求出50名学生的英语平均成绩*/ printf(%4.2f %4.2f %4.2f\n,average1,average2,average3); } (1)元素的下标必须用方括号括起来,例如,不能将数组元素a[3]写成a3。 (2)引用数组元素时,不可超出数组定义时的上下界范围,C语言编译器不进行数组越界检查,这样会造成逻辑错误。 (3)与定义数组时不同,使用数组时其元素下标可以用常量及其表达式,也可以用变量及其表达式等。 例如,a[2]、a[x]、a[m+n]、a[a[i-1]+a[i-2]]都是合法的数组元素引用形式。 (4)使用数组元素时,数组名、数组类型和维数必须与数组定义时一致。 #include stdio.h void main() { int a[10]; for(int i=1;i10;i++) a[i]=i*i; printf(下标\t元素的值\n); for(i=1;i10;i++) printf(%d\t%d\n,i,a[i]); } 利用sizeof运算符输出数组元素的代码如下: int a[ ]={1,2,4,8,16}; for(int i=0; i(sizeof(a)/sizeof(int)); i++) printf(%d\t%d\n,i,a[i]); 程序实例8.4: §8.3 二维数组 §8.3二维数组的引用 8.3.3 二维数组应用举例 【例8.6】编写一个程序,统计某个班每个学生语文、数学、英语的平均成绩。要求按学号从小到大顺序依次输入各个学生的成绩,最后统计每个学生的平均成绩,并列表输出。 8.3 二维数组 #include stdio.h #define N 5 #define M 5 void main() { int s[N][M]; int sum; int i,j; printf(Input data:\n); /*输入数据*/ for (i=0;iN;i++) /*输入5个学生的学号与3门课成绩*/ for (j=0;jM-1;j++) scanf(%d,s[i][j]); for (i=0;iN;i++) /*处理数据*/ { sum=0; for (j=1;jM-1;j++) /*计算每个学生的总成绩*/ sum=sum+s[i][j]; 8.3 二维数组

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档