第6章-数-组-《C语言程序设计教程》课件.ppt

上传人(卖家):晟晟文业 文档编号:5107888 上传时间:2023-02-12 格式:PPT 页数:56 大小:555.50KB
下载 相关 举报
第6章-数-组-《C语言程序设计教程》课件.ppt_第1页
第1页 / 共56页
第6章-数-组-《C语言程序设计教程》课件.ppt_第2页
第2页 / 共56页
第6章-数-组-《C语言程序设计教程》课件.ppt_第3页
第3页 / 共56页
第6章-数-组-《C语言程序设计教程》课件.ppt_第4页
第4页 / 共56页
第6章-数-组-《C语言程序设计教程》课件.ppt_第5页
第5页 / 共56页
点击查看更多>>
资源描述

1、1第第第第第第6 6 6 6 6 6章章章章章章 数数数数数数 组组组组组组2023-2-1222023-2-123l一个人一个人N门课的成绩怎样存储和处理?门课的成绩怎样存储和处理?l一个班一个班N门课的成绩怎样存储和处理?门课的成绩怎样存储和处理?.2023-2-124数据类型数据类型 数组名数组名常量表达式常量表达式;2023-2-1252023-2-126score0score1score2score3score491.534.567.572.084.0低地址低地址高地址高地址score数组数组2023-2-1272023-2-128 下标从下标从0开始(下界为开始(下界为0),数组的

2、最大下标),数组的最大下标(上界)是数组长度减(上界)是数组长度减1。例如:例如:int a10;scanf(%d,&a10);/*下标越界下标越界*/C编译系统不做越界检查,如果引用的数组元素编译系统不做越界检查,如果引用的数组元素超出数组范围会破坏其他变量的值。超出数组范围会破坏其他变量的值。2023-2-129 是是引用引用数组元素数组元素时,时,根据数组的根据数组的和和数,计算出数,计算出该元素的实际地址,该元素的实际地址,取出该地址的取出该地址的进行操作。进行操作。如引用如引用 score2:(1)计算计算 2000+2*4=2008(2)取出取出2008的内容的内容2000H200

3、4H2008H200CH218CHscore0score1score2score3score491.534.567.572.084.02023-2-1210初始化:在定义数组时给数组元素赋初值。初始化:在定义数组时给数组元素赋初值。1在定义数组时,对全部数组元素赋初值在定义数组时,对全部数组元素赋初值 例如:例如:int a5=0,1,2,3,4;此时可以省略数组长度,例如:此时可以省略数组长度,例如:int a=0,1,2,3,4;2在定义数组时,对部分数组元素赋初值在定义数组时,对部分数组元素赋初值 例如:例如:int a5=1,2,3;系统为其余元素赋系统为其余元素赋 0。3当初值的个数

4、多于数组元素的个数时,编译出错当初值的个数多于数组元素的个数时,编译出错 例如:例如:int a5=0,1,2,3,4,5;2023-2-1211【例例6.16.1】将将1010个人的成绩输入计算机后按逆序显示。个人的成绩输入计算机后按逆序显示。#define N 10main()int i;float scoreN;for(i=0;i=0;i-)printf(%6.1f,scorei);运行情况如下:运行情况如下:67 74 89 92 34 67 83 95 73 78 78.0 73.0 95.0 83.0 67.0 34.0 92.0 89.0 74.0 67.02023-2-1212

5、l求最大求最大/小值采用打擂台的方法。小值采用打擂台的方法。l定义一维数组定义一维数组a存放被比较的数。存放被比较的数。l定义变量定义变量max:最大值,:最大值,min:最小值,:最小值,k:最大值下标:最大值下标,j:最小值下标:最小值下标。l各数依次与擂主进行比较,各数依次与擂主进行比较,若若aimax 则则:max=ai;k=i;否则判断否则判断:若若aimin 则则:min=ai;j=i;l当所有的数都比较完之后,将当所有的数都比较完之后,将aj=max;k=min;l输出输出a数组。数组。2023-2-1213程序运行情况如下:程序运行情况如下:5 7 2 3 1 5 1 2 3

6、72023-2-1214第一趟排序情况如下:第一趟排序情况如下:3 7 5 6 8 0第一次第一次 3和和7比较,不交换比较,不交换 3 7 5 6 8 0第二次第二次 7和和5比较,交换比较,交换 3 5 7 6 8 0第三次第三次 7和和6比较,交换比较,交换 3 5 6 7 8 0第四次第四次 7和和8比较,不交换比较,不交换 3 5 6 7 8 0第五次第五次 8和和0比较,交换比较,交换 3 5 6 7 0 8在第一趟排序中,在第一趟排序中,6个数比较了个数比较了5次,把次,把6个数中个数中的最大数的最大数8排在最后。排在最后。2023-2-12152023-2-1216 冒泡法排序

7、冒泡法排序for(i=0;iN;i+)输入输入ai for(j=1;jN;j+)for(i=0;iai+1 T F ai与与ai+1交换交换输出输出a0aN-12023-2-1217/*控制比较的趟数控制比较的趟数*/*两两比较的次数两两比较的次数*/程序运行情况如下:程序运行情况如下:3 7 5 6 8 0 0 3 5 6 7 82023-2-12182023-2-1219图6.3 选择法排序for(i=0;iN;i+)输入ai for(j=0;jN-1;j+)for(i=j+1;iai T F aj与ai交换 输出a0aN-12023-2-1220for(j=0;jN-1;j+)/*确定基

8、准位置确定基准位置*/for(i=j+1;iai)t=aj;aj=ai;ai=t;程序运行情况如下:96 78 65 86 40The sorted numbers:40 65 78 86 962023-2-1221数据类型数据类型 数组名常量表达式数组名常量表达式1常量表达式常量表达式2;的定义的定义2023-2-1222x00 x01x02x10 x11x12元素元素的的2023-2-1223x0是数组名,是元素是数组名,是元素x00的地址的地址x1是数组名,是数组名,是元素是元素x10的地址的地址二维数组可看作是一种特殊的一维数组二维数组可看作是一种特殊的一维数组2023-2-1224a

9、34=3;/*下标越界下标越界*/a1,2=1;/*应写成应写成 a12=1;*/例:例:int a34;a00=3;a01=a00+10;2023-2-1225例:例:int a23=1,2,3,4,5,6例例:int a23=1,2,3,4,5,6;例:例:int a23=1,4;初始化后结果:初始化后结果:1 0 0 4 0 02023-2-12262023-2-12272023-2-1228main()int a43,i,j,k;for(i=0;i4;i+)for(j=0;j3;j+)scanf(%d,&aij);for(i=0;i4;i+)printf(n);for(j=0;j3;j

10、+)printf(%dt,aij);printf(n);程序运行情况如下:程序运行情况如下:1 2 3 4 5 6 7 8 9 10 11 12 1 2 34 5 67 8 910 11 122023-2-1229 图图6.4 查找最大元素查找最大元素max=|a00|,row=0,colum=0 for(i=0;iN;i+)for(j=0;jmax T F max=|aij|row=i colum=j输出绝对值输出绝对值最大的元素及行列下标最大的元素及行列下标2023-2-1230程序运行情况如下:程序运行情况如下:34 56 12 67 23 12 67 43 98 54 65 45 66

11、 16 24 37 83 25 64 19 max=98,row=1,colum=32023-2-12316.3 字符数组与字符串字符数组与字符串6.3.1 6.3.1 基本概念基本概念不是字符串不是字符串2023-2-12322023-2-1233不是字符串不是字符串2023-2-12342023-2-1235b0b13思考:哪个数组存放的是字符串思考:哪个数组存放的是字符串2023-2-1236【例例6.8】对字符数组对字符数组c1赋赋 09,对字符,对字符数组数组c2赋赋 AZ,然后输出,然后输出c1和和c2数组中数组中的数据。的数据。可以为可以为数组元素数组元素赋值,也可以输入赋值,也

12、可以输入/输出输出元元素的值。素的值。2023-2-1237main()char c110,c226;int i;for(i=0;i10;i+)c1i=i+48;for(i=0;i26;i+)c2i=i+A;for(i=0;i10;i+)printf(%c,c1i);printf(n);for(i=0;i0)printf(s1s2);else printf(s1=0&si=A&si=a&si=z)lett+;else oth+;for(i=0;i10;i+)printf(%d:%d个个 ,i,digi);printf(nspace:%d letter:%d other:%dn,sp,lett,

13、oth);程序运行情况如下程序运行情况如下:China 1949.10.12004.10.10:4个 1:5个 2:2个 3:0个 4:1个 5:0个 6:0个 7:0个 8:0个 9:2个space:1 letter:5 other:52023-2-1252Illegalm onth.0Decen m ber 0将将1212个英文月份以字符串的形式存放到个英文月份以字符串的形式存放到month1315month1315中,一行存放一个字符串。中,一行存放一个字符串。2023-2-1253main()char month 15=Illegal month.,January,February,March,April,May,June,July,August,September,October,Novenber,Decenmber;int m;printf(nInput month:);scanf(%d,&m);printf(%d:%sn,m,(m12)?month0:monthm);2023-2-1254从键盘输入从键盘输入N N个国家名称存放到一个二维个国家名称存放到一个二维字符数组中,然后用字符数组中,然后用选择法选择法对这对这N N个字符串个字符串排序排序。:2023-2-1255选择法排序选择法排序2023-2-1256

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第6章-数-组-《C语言程序设计教程》课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|