C语言程序设计——.ppt

C语言程序设计——.ppt

ID:60857419

大小:1.92 MB

页数:23页

时间:2020-12-23

C语言程序设计——.ppt_第1页
C语言程序设计——.ppt_第2页
C语言程序设计——.ppt_第3页
C语言程序设计——.ppt_第4页
C语言程序设计——.ppt_第5页
资源描述:

《C语言程序设计——.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、C语言程序设计——数组(二)二维数组及应用数组是一组具有相同数据类型的按一定顺序排列的数据的集合数组在内存中占一片连续的存储空间数组的定义及引用数组的定义数组元素的引用数组的初始化数组元素的存储定义一维数组的一般形式为:类型符数组名[常量表达式];如:inta[10];数组名[下表];如:a[i]i取值0~9a[0]a[1]a[2]……a[9]在定义数组的同时,给各数组元素赋值inta[10]={0,1,2,3,4,5,6,7,8,9};inta[10]={0,1,2,3,4};inta[10]={0};inta[]={1,2

2、,3,4,5};inta[10]={1};??数组在内存中占据一片连续的存储空间;数组名代表数组的首地址;A[0]A[1]A[2]A[3]A[4]A[5]A[6]A[7]A[8]A[9]即时编程数组的基本操作数组排序程序新问题有一成绩表(假设有50名学员):学号C语言成绩英语成绩数学成绩平均成绩19089902989095386604549555785807880……如何处理?二维数组floatscore[50][5]二维数组定义二维数组定义的一般形式为:类型符数组名[常量表达式1][常量表达式2];如:floata[3][4

3、],b[5][10];a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]a[0]a[1]a[2]a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]逻辑存储内存中的存储顺序二维数组元素的表示形式为:数组名[下标][下标]b[1][2]=a[2][3]/2合法for(i=0;i

4、tf(“%d,%d”,a[i][0],a[0][i]);合法怎样引用二维数组的元素inta[3][4]={{1,2,3,4},{5,6,7,8},9,10,11,12}};inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};inta[3][4]={{1},{5},{9}};等价于inta[3][4]={{1,0,0,0},{5,0,0,0},{9,0,0,0}};inta[3][4]={{1},{5,6}};相当于inta[3][4]={{1},{5,6},{0}};二维数组的初始化inta[3

5、][4]={1,2,3,4,5,6,7,8,9,10,11,12};等价于:inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};inta[][4]={{0,0,3},{},{0,10}};合法注:可以省略第一维的长度二维数组的初始化二维数组的输入、输出使用二层循环结构的嵌套【例】将一个二维数组行和列的元素互换,存到另一个二维数组中。二维数组基本应用解题思路:可以定义两个数组:数组a为2行3列,存放指定的6个数数组b为3行2列,开始时未赋值将a数组中的元素a[i][j]存放到b数组中的b[j][i]元素

6、中用嵌套的for循环完成#includeintmain(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;printf("arraya:");for(i=0;i<=1;i++){for(j=0;j<=2;j++){printf("%5d",a[i][j]);b[j][i]=a[i][j];}printf("");}处理a的一行中各元素处理a中某一列元素输出a的各元素a元素值赋给b相应元素printf("arrayb:");for(i=0;i<=2;i++)

7、{for(j=0;j<=1;j++)printf("%5d",b[i][j]);printf("");}return0;}输出b的各元素二维数组基本应用【例】有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。解题思路:采用“打擂台算法”先找出任一人站在台上,第2人上去与之比武,胜者留在台上第3人与台上的人比武,胜者留台上,败者下台以后每一个人都是与当时留在台上的人比武,直到所有人都上台比为止,最后留在台上的是冠军【例】有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的

8、行号和列号。解题思路:采用“打擂台算法”先把a[0][0]的值赋给变量maxmax用来存放当前已知的最大值a[0][1]与max比较,如果a[0][1]>max,则表示a[0][1]是已经比过的数据中值最大的,把它的值赋给max,取代了max的原值以后依此处理,最后max就是

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

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

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