实验数组相关知识.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验4数组 一、实验目的 熟悉c语言关于“数组”的语法规则; 掌握C语言程序中关于数值“数组”的应用技巧; 掌握一维数组和二维数组的定义、赋值和输入输出的方法;数组元素的存储形式和引用方法; 掌握与数组有关的排序(选择法、冒泡法)、有序数列的插入和删除操作等算法(特别是排序算法)。 二、实验内容步骤 (一)实验准备 数组的应用场合:处理有限个相同类型数据可定义为数组 数组的定义、引用、初始化 定义:如int a[10]; float b[3][4]; char sl[80],s2[3][80];等。要求用常量指定所定义的数组大小;数 组定义后,编译吋分配连续的存储空间,且存储空间二元素个数XsiZeof(元素类型)(单位是字节),二维数 组按行存放其元素;一维数组--般存储线性序列的数据,二维数组一般存储矩阵,一维字符数组一般存储 一个字符串,二维字符数组一般存储多个字符串;一维数组名代表数组存储空间的起始地址,二维数组名 代表首行的地址,二维数组名带一个下标表示下标所在行的首元素地址。 引用:如a[i]、b[i]fj]等。一维数值数组通常结合单重for循环访问其所有元素,用循环变量控制 元素下标,从0到长度-1;二维数组通常结合双重foi?循环访问其所有元素,外循环控制行(第一维)下 标,内循环控制列(第二维)下标;字符数组通常用数组名引用其表示地址单元开始的所有元素。 初始化:可全部元素初始化、部分元素初始化;二维数组可按行初始化或按元素排列顺序初始化; 字符数组可逐个元素赋初值或以字符串形式赋初值。 阅读以下程序,并分析其功能,调试运行程序后再分析其运行结果。 程序一,程序文件名为ex7-l.c o (掌握冒泡排序算法) include stdio.h void main() { int a[10],ij,t; printff/lnput 10 nuiriberszXn*); for(i=0;i10;i++) scanf(n%dH,a[i]); for(j=0;j9;j++) for(i=0;i9-i;i++) if(a[i]a[i+l]) {t=a[i]; a[i]=a[i+l]; a[i+l]=t;} pnntf(Mthe sorted numbers:\nn); for(i=0;i10;i++) printf(n%d H,a[i]); printf(:,\nM); } 程序二,程序文件名为ex7-2.c o (掌握矩阵转置算法) include stdioh void main() int a[2][3J={{l,2,3},{4,5,6}}; int b⑶[2],iJ; printf(HArray A:\nH); for(i=0;i2;i++) { for(j=0;j3;j++) { printf「%5(T,a[i]Lj]); b[j][i]=a[i][j]; } } for(i=0;i3;i++) { for(j=0;j2;.j++) printf(n%5dM,b[i]|j]); printf(,,\nM); } } ③程序三,程序文件名为ex7-3.c o (掌握统计一行单词数的算法) # include stdio.h void main() { char string[81],c; int i,num=0,word=0; printf(nInput a string:\nH); gets(string); for(i=0; (c=string[i])!=,\O,; i++) if(c==* ) word=0; else if(word==0) { word=l; num++; } printf(There are %d words in the line.\nH,num); } (二)实验内容(按要求设计以下程序,并调试分析运行结果,此部分完成在实验报告上) 用选择法对10个数实现递增排序。(文件名存为sy4-l.c) #include stdio.h main() { int a[10],i,j,k,x; printf(nInput 10 numbers:\nu); for(i=0;i10;i++) scanf(”%d”,a[i]); printf(u\nn); for(i=0;i9;i++) { k=i; for(j=i+l;j=9;j++) if(a[j]afk]) k=j; if(i!=k) { x=a[i];a[i]=a[k];a[k]=x;} } printf(The sorted numbersAn); for(i=0;i10;i++) printf(n%d Xi]); } 运行情况 Input 10 numbers: 9876543210 The sorted numbers: 01234

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档