欢迎来到天天文库
浏览记录
ID:39963445
大小:2.18 MB
页数:47页
时间:2019-07-16
《c语言第5章 数组(新)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计第5章数组本章主要内容1.什么是数组2.一维数组3.二维数组4.字符数组本章重点、难点数组的概念数组的访问字符数组以及字符串问题一个班有40名同学,编程计算这40名同学某一门课程成绩的平均分(学生成绩要记录下来)for(i=0;i<40;i++)total=total+score;ave=total/40.0;score能记录下40个同学的成绩吗?基本数据类型特点:该类型变量在一个时刻只能存放一个数值什么是数组?使用数组,可以解决40名学生成绩的存放问题。数组是一个相同数据类型元素的集合score[0]sc
2、ore[1]score[2]……score[39]score数组一维数组1.一维数组的定义2.一维数组的输入输出控制3.数组排序操作一维数组的定义类型说明符数组名[常量表达式];例如:intnum[10];说明:1.定义数组num,一次性产生10个数组元素;2.数组元素个数由常量表达式决定,数组元素是顺序存放的;3.数组元素下标从0开始;4.数组名必须是合法标识符,确定数组长度的常量表达式可以是常量或符号常量;num[0]num[1]num[2]……num[8]num[9]一维数组的定义5.一维数组可以初始化例如:int
3、num[10]={1,2,3,4,5,6,7,8,9,0};初始化结果:num[0]num[1]num[2]……num[8]num[9]123……90全部初始化全部初始化可以省略数组长度的说明,例如:intnum[]={1,2,3,4,5,6,7,8,9,0};一维数组的定义可以对部分数组元素初始化例如:intnum[10]={1,2};初始化结果:num[0]num[1]num[2]……num[8]num[9]120……00一维数组的定义这样定义数组,对吗?intn=10,a[n];#defineN10inta[N];
4、一维数组的输入输出【例5.1】某班10名同学,输入这10名同学某门课程成绩,计算平均分,输出每位同学成绩以及该门课程的平均分。#include"stdio.h"#defineN10voidmain(){floatscores[N],sum=0;inti;for(i=0;i5、ntf("scores[%d]=%.2f",i,scores[i]);printf("Averageis:%.2f",sum/N);}一维数组的输入输出#include"stdio.h"#defineN10voidmain(){floatscores[N],sum=0;inti;for(i=0;i6、r(i=0;i7、中交换这两个数的位置,达到小数在前大数在后的目标。如此执行完一轮,最大数沉到最后。接下来,去除最后那个最大数,剩下的数据序列再进行相邻数的比较交换,经过多个轮次的比较,最终实现排序目标。数组排序操作5374635746357463547635467第一轮7沉底第二轮6沉底35463546345634567777第三轮5沉底345345345666777第四轮4沉底3434565677最后结果34567数组排序操作#include"stdio.h"#defineSIZE5voidmain(){intnum[SIZE]={58、,3,7,4,6};intpass,i,tmp;for(pass=1;passnum[i+1]){tmp=num[i];num[i]=num[i+1];num[i+1]=tmp;}}比较及交换printf("Dataite
5、ntf("scores[%d]=%.2f",i,scores[i]);printf("Averageis:%.2f",sum/N);}一维数组的输入输出#include"stdio.h"#defineN10voidmain(){floatscores[N],sum=0;inti;for(i=0;i6、r(i=0;i7、中交换这两个数的位置,达到小数在前大数在后的目标。如此执行完一轮,最大数沉到最后。接下来,去除最后那个最大数,剩下的数据序列再进行相邻数的比较交换,经过多个轮次的比较,最终实现排序目标。数组排序操作5374635746357463547635467第一轮7沉底第二轮6沉底35463546345634567777第三轮5沉底345345345666777第四轮4沉底3434565677最后结果34567数组排序操作#include"stdio.h"#defineSIZE5voidmain(){intnum[SIZE]={58、,3,7,4,6};intpass,i,tmp;for(pass=1;passnum[i+1]){tmp=num[i];num[i]=num[i+1];num[i+1]=tmp;}}比较及交换printf("Dataite
6、r(i=0;i7、中交换这两个数的位置,达到小数在前大数在后的目标。如此执行完一轮,最大数沉到最后。接下来,去除最后那个最大数,剩下的数据序列再进行相邻数的比较交换,经过多个轮次的比较,最终实现排序目标。数组排序操作5374635746357463547635467第一轮7沉底第二轮6沉底35463546345634567777第三轮5沉底345345345666777第四轮4沉底3434565677最后结果34567数组排序操作#include"stdio.h"#defineSIZE5voidmain(){intnum[SIZE]={58、,3,7,4,6};intpass,i,tmp;for(pass=1;passnum[i+1]){tmp=num[i];num[i]=num[i+1];num[i+1]=tmp;}}比较及交换printf("Dataite
7、中交换这两个数的位置,达到小数在前大数在后的目标。如此执行完一轮,最大数沉到最后。接下来,去除最后那个最大数,剩下的数据序列再进行相邻数的比较交换,经过多个轮次的比较,最终实现排序目标。数组排序操作5374635746357463547635467第一轮7沉底第二轮6沉底35463546345634567777第三轮5沉底345345345666777第四轮4沉底3434565677最后结果34567数组排序操作#include"stdio.h"#defineSIZE5voidmain(){intnum[SIZE]={5
8、,3,7,4,6};intpass,i,tmp;for(pass=1;passnum[i+1]){tmp=num[i];num[i]=num[i+1];num[i+1]=tmp;}}比较及交换printf("Dataite
此文档下载收益归作者所有