欢迎来到天天文库
浏览记录
ID:59421903
大小:560.50 KB
页数:92页
时间:2020-09-19
《c语言大学适用教程第4章数组ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、从键盘接收10个数1.求其平均数2.输出小于平均数的数问题引入第4章数组一维数组二维数组字符数组指针数组和指向指针的指针4.1一维数组数组是有序数据的集合,数组中的每一个数据被称为数组元素。数组中的每一个元素都属于同一个数据类型,它可以是基本数据类型或是构造数据类型,所以,数组可以分为整型数组、实型数组、字符数组、指针数组、结构体数组等等。4.1.1一维数组定义、引用和初始化1.一维数组的定义(使用数组前必须先定义)类型说明符数组名[常量表达式];例如:inta[8];floatx[5];charch1[10];#d
2、efinedN5…inta[N];说明:类型说明符是任一种标准数据类型或构造数据类型。数组名是用户定义的数组标识符。数组名的书写规则应符合标识符的命名规则,并且不能与其它变量同名。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。对于同一个数组,其所有元素的数据类型都是相同的,数组的类型是指构成数组的元素的类型。数组元素下标从0开始。常量表达式可以是符号常量或常量表达式,但是不能包含变量,即不能对数组的大小作动态定义。例:intn;scanf(“%d”,&n);inta[n];错误2.一维数组元素的引用:格式
3、:数组名[下标]说明:通常下标只能为整型常量或整型表达式。例如:inta[8],i=3,j=4;则a[0]、a[i+j]、a[i++]分别代表数组的第0、第7和第3个元素。如果下标是实数,C语言自动将它转换为整型,即舍弃小数部分。在C语言中规定只能逐个地引用数组元素,而不能一次引用整个数组。例4-1把数字1—9存入到一个整型数组a中,并输出。main(){inta[10],i;for(i=0;i<=9;i++)a[i]=i;for(i=0;i<=9;i++)printf(“%d”,a[i]);}注意:数组元素必须逐个
4、引用,而不可以一次引用。3.一维数组的存储与初始化:定义数组时赋初值,即数组的初始化。例如:inta[5]={1,2,3,4,5};在对全部数组元素赋初值时,允许省略数组元素的个数。如:inta[]={1,2,3,4,5};也就等价于:inta[5]={1,2,3,4,5};在定义时,可以只给出部分元素的初值。例如:inta[5]={1,2,3};即:a[0]=1,a[1]=2,a[2]=3,a[3]=0,a[4]=0;若给出的数据个数比数组长度要大,则错误。4.一维数组的应用例4-2:从键盘接收10个数1.求其平均
5、数;2.输出小于平均数的数main(){inta[10],i,sum=0;floatave=0;for(i=0;i<=9;i++){scanf(“%d”,&a[i]);sum=sum+a[i];}ave=sum/10.0;for(i=0;i<=9;i++){if(a[i]6、20;i++){if(i%5==0)printf(“”);printf(“%6d”,f[i]);}}例4-4:从键盘输入10个数,找出其中最小数main(){inta[10],i,min;for(i=0;i<10;i++)scanf(“%d”,&a[i]);min=a[0];for(i=1;i<10;i++){if(a[i]7、0]进行交换,保证a[0]是最大数。2将a[2]---a[9]与a[1]进行比较,若比a[1]大,则与a[1]进行交换,保证a[1]是次大数。3依次类推。main(){inta[10]={7,15,4,12,9,3,10,0,24,6};inti,j,temp;for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]8、个整数从小到大排序冒泡法思路:相邻两个数进行比较,将小的调到前面。第一趟98765比较第一次9876589765第二次876958796587659第三次第四次结果比较次数:5-1第二趟87659比较第一次78659第二次7658976859第三次结果比较次数:5-2第三趟76589第一次67589第二次65789结果比较次数:5-365789
6、20;i++){if(i%5==0)printf(“”);printf(“%6d”,f[i]);}}例4-4:从键盘输入10个数,找出其中最小数main(){inta[10],i,min;for(i=0;i<10;i++)scanf(“%d”,&a[i]);min=a[0];for(i=1;i<10;i++){if(a[i]7、0]进行交换,保证a[0]是最大数。2将a[2]---a[9]与a[1]进行比较,若比a[1]大,则与a[1]进行交换,保证a[1]是次大数。3依次类推。main(){inta[10]={7,15,4,12,9,3,10,0,24,6};inti,j,temp;for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]8、个整数从小到大排序冒泡法思路:相邻两个数进行比较,将小的调到前面。第一趟98765比较第一次9876589765第二次876958796587659第三次第四次结果比较次数:5-1第二趟87659比较第一次78659第二次7658976859第三次结果比较次数:5-2第三趟76589第一次67589第二次65789结果比较次数:5-365789
7、0]进行交换,保证a[0]是最大数。2将a[2]---a[9]与a[1]进行比较,若比a[1]大,则与a[1]进行交换,保证a[1]是次大数。3依次类推。main(){inta[10]={7,15,4,12,9,3,10,0,24,6};inti,j,temp;for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]8、个整数从小到大排序冒泡法思路:相邻两个数进行比较,将小的调到前面。第一趟98765比较第一次9876589765第二次876958796587659第三次第四次结果比较次数:5-1第二趟87659比较第一次78659第二次7658976859第三次结果比较次数:5-2第三趟76589第一次67589第二次65789结果比较次数:5-365789
8、个整数从小到大排序冒泡法思路:相邻两个数进行比较,将小的调到前面。第一趟98765比较第一次9876589765第二次876958796587659第三次第四次结果比较次数:5-1第二趟87659比较第一次78659第二次7658976859第三次结果比较次数:5-2第三趟76589第一次67589第二次65789结果比较次数:5-365789
此文档下载收益归作者所有