Tc一维数组,二维数组.ppt

Tc一维数组,二维数组.ppt

ID:52473077

大小:368.37 KB

页数:23页

时间:2020-04-08

Tc一维数组,二维数组.ppt_第1页
Tc一维数组,二维数组.ppt_第2页
Tc一维数组,二维数组.ppt_第3页
Tc一维数组,二维数组.ppt_第4页
Tc一维数组,二维数组.ppt_第5页
资源描述:

《Tc一维数组,二维数组.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8讲一维数组,二维数组1.目的、要求掌握一维数组的定义、引用及其初始化。掌握二维数组的定义、引用及其初始化。掌握数组名作为函数参数。2.重点、难点数组名做函数参数时,是将实参数组的起始地址传给形参数组,需通过例题反复体会;深入理解“起泡法”排序,从而掌握一维数组的应用。数组名的含义及其使用中应注意的问题;二维数组的初始化问题。一般练习7.5,7.6重点练习7.2,7.3,7.41)在讲述一维数组的定义、引用、初始化的基础上,通过举例来说明一维数组的应用。2)在讲述二维数组的定义、引用、初始化的基础上,通过举例来说明一维数组的应用。并引申出多维数

2、组的概念。3.讲课思路数组数组:一组有序数据的集合。数组中的每一个元素都属于同一个数据类型。用一个统一的数组名和下标来唯一地确定数组中的元素。一维数组的定义和引用1.一维数组的定义类型说明符数组名[常量表达式];说明:1)数组名命名规则与变量名相同;2)常量表达式不能含变量,不能用圆括弧;3)下标从0开始计算。2.一维数组元素的引用数组必须先定义后引用,并且只能引用数组元素而不能一次引用整个数组。数组元素的表示形式为:数组名[下标]下标可以是整型常量或整型表达式。如:a[0]=a[5]+a[2*3]main(){inti,a[10];for(i=

3、0;i<=9;i++)a[i]=i;/*数组元素赋值*/for(i=9;i>=0;i--)printf(“%d”,a[i]);/*逆序输出各数组元素*/printf("");}例题:输出数组元素运行结果:98765432103.一维数组的初始化1).定义数组时初始化数组元素。如:staticinta[10]={0,1,2,…,9};2).可以只给部分元素赋初值。如:staticinta[10]={0,1,2,3,4};对static数组,未赋初值则系统默认为0。3).对全部数组元素赋初值时,可以不指定数组长度。如:staticinta[]={

4、1,2,3,4,5};自动定义长度为5。注意:数组长度与提供的初值个数不相等时,不能省略数组长度。4.一维数组程序举例main(){inti;staticintf[20]={1,1};for(i=2;i<20;i++)f[i]=f[i-2]+f[i-1];for(i=0;i<20;i++){if(i%5==0)printf(“”);/*每行输出5个数*/printf("%12d",f[i]);}printf("");}例题1:数组处理Fibonacci数列起泡法思路:将相邻两个数比较,将小的调到前头。经过1轮比较后,最大的数已调到最后一个

5、位置。所以n个数要比较n-1趟,在第j趟中要进行n-j次比较。例题2:起泡法对10个整数按由小到大排序第1次第2次第3次第4次第5次结果main(){inta[11];inti,j,t;printf("input10numbers:");for(i=1;i<11;i++)scanf("%d",&a[i]);printf("");for(j=1;j<=9;j++)/*10个数比较9趟*/for(i=1;i<=10-j;i++)/*每趟比较10-j次*/if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}

6、printf("thesortednumbers:");for(i=1;i<11;i++)printf("%d",a[i]);printf("");}输入:10481265–76100–45123输出:-76–4501481265100123例题3:把由键盘输入的数列按相反的顺序输出。#include“stdio.h”main(){intj,i=0,a[100];printf("inputsomeintergers(<=100):");printf("endmark--Ctrl+z");while(scanf("%d",&a[i]

7、)!=EOF)i++;for(j=0,i=i-1;i>=0;j++,i--){if(j%3==0)printf("");printf("%dt",a[i]);}}输入:357输出:753例题4:将下列数列(杨辉三角形)延长到55个。1,1,1,1,2,1,1,3,3,1,1,4,6,4,1……main(){inta[60],i,j,k=0;for(i=1;;i++){if((k+1)>55)break;a[k+1]=1;for(j=2;j55)break;a[k+j]=a[k-(i-1)+(j-1)]+a[

8、k-(i-1)+j];}if((k+j)>55)break;a[k+=i]=1;}printf("");for(i=1;i<=55;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。