C语言程序设计立体化教程(第二版) 课件 5.1一维数组.ppt

C语言程序设计立体化教程(第二版) 课件 5.1一维数组.ppt

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

主讲:廖智蓉项目5简易的通讯录管理一维数组问题导入请编写如下程序:输入60名学生的C语言成绩,要求输出高于平均分的成绩以及不及格的人数。分析:为了保存60名学生的成绩,需要定义60个变量(假定为a1,a2,…a60)来存放,且用变量与平均分(假定为pj)一一比较如下:if(a1pj)printf(“%f\n”,a1);if(a2pj)printf(“%f\n”,a2);……if(a60pj)printf(“%f\n”,a60);问题解决请编写如下程序:输入60名学生的C语言成绩,要求输出高于平均分的成绩以及不及格的人数。关键技术:数组1、什么是数组?一组具有相同数据类型的数据的有序的集合一维数组的定义一维数组的定义类型说明符数组名[常量表达式];2.例:inta[10];定义一个数组,数组名a,有10个元素,每个元素的类型均为int。这10个数组元素分别是:a[0]、a[1]、a[2]、a[3]、a[4]、....、a[8]、a[9]。一维数组的定义3.说明(3)常量表达式表示元素的个数,即数组的长度。下标从0开始!例如:intn;scanf(%d,n);inta[n];(4)数组大小可以是整型常量和符号常量,但不能是变量(2)数组名后是[],不能是()。×(1)数组名:按标识符规则。本例a就是数组名。ints[100];floatb[8];#defineN50inta[N];(5)同类型数组可以一起定义,只需逗号隔开。inta[10],b[20];一维数组的初始化(1)定义数组时对数组元素赋以初值。intx[5]={1,2,3,4,5};(2)可以只给一部分元素赋初值。intx[5]={1,2};系统自动给指定值的数组元素赋值:x[0]=1,x[1]=2,其他元素值均为0。(3)如果一个数组的全部元素值都为0,可以写成:intx[5]={0,0,0,0,0};或intx[5]={0};(4)对全部元素赋初值时,可以不指定长度。intx[5]={1,2,3,4,5};等价于intx[]={1,2,3,4,5};(5)利用scanf函数任意输入方式进行数组元素的初始化。inta[5],i;for(i=0;i5;i++)scanf(“%d”,a[i]);数组元素的引用引用形式:数组名[下标]说明:(1)下标的取值范围:0≤下标≤元素个数-1(2)下标可以是整型常量或表达式。例如:a[0]=a[5]+a[7]-a[2*3]

举例

数组元素初始化和引用。从键盘输入十个学生的成绩,并将其输出。#includestdio.hmain(){inti,a[10];printf(输入数组元素:);printf(输出数组元素:);}for(i=0;i10;i++)scanf(%d,a[i]);for(i=0;i10;i++)printf(%5d,a[i]);

举例

将从1开始的10个奇数逆序输出。#includestdio.hmain(){inti,a[10]={1,3,5,7,9,11,13,15,17,19};printf(输出数组元素:\n);}for(i=0;i10;i++)a[i]=2*i+1;for(i=9;i=0;i++)printf(%5d,a[i]);

问题实现

输入60名学生的C语言成绩,要求输出高于平均分的成绩以及不及格的人数。#includestdio.h“#defineN60main(){floatcj[N],sum,pj;inti,count;sum=0;count=0;printf(“请输入学生成绩:\n);printf(“不及格的人数:%d\n”,count);}for(i=0;iN;i++)scanf(“%f”,cj[i]);for(i=0;iN;i++){if(cj[i]pj)printf(%.2f,cj[i]);if(cj[i]60)count++;}for(i=0;iN;i++)sum=sum+cj[i];pj=sum/N;

课后练一练

1、从键盘输入10个整数,找出其中的最大数并输出。2、求学生的总评成绩。现有十个学生,从键盘上输入他们的平时成绩、期终成绩,输出总评成绩。总评成绩=平时成绩*40%+期终成绩*60%.字符数组*软件技术专业*软件技术专业*软件技术专业

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档