- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验数组相关知识doc
实验4 数组
一、实验目的
(1) 熟悉C语言关于“数组”的语法规则;
(2) 掌握C语言程序中关于数值“数组”的应用技巧;
(3) 掌握一维数组和二维数组的定义、赋值和输入输出的方法;数组元素的存储形式和引用方法;
(4) 掌握与数组有关的排序(选择法、冒泡法)、有序数列的插入和删除操作等算法(特别是排序算法)。
二、实验内容步骤
(一)实验准备
(1) 数组的应用场合:处理有限个相同类型数据可定义为数组
(2) 数组的定义、引用、初始化
① 定义:如 int a[10]; float b[3][4]; char s1[80],s2[3][80]; 等。要求用常量指定所定义的数组大小;数组定义后,编译时分配连续的存储空间,且存储空间=元素个数×sizeof(元素类型)(单位是字节),二维数组按行存放其元素;一维数组一般存储线性序列的数据,二维数组一般存储矩阵,一维字符数组一般存储一个字符串,二维字符数组一般存储多个字符串;一维数组名代表数组存储空间的起始地址,二维数组名代表首行的地址,二维数组名带一个下标表示下标所在行的首元素地址。
② 引用:如a[i]、b[i][j] 等。一维数值数组通常结合单重for循环访问其所有元素,用循环变量控制元素下标,从0到长度-1;二维数组通常结合双重for循环访问其所有元素,外循环控制行(第一维)下标,内循环控制列(第二维)下标;字符数组通常用数组名引用其表示地址单元开始的所有元素。
③ 初始化:可全部元素初始化、部分元素初始化;二维数组可按行初始化或按元素排列顺序初始化;字符数组可逐个元素赋初值或以字符串形式赋初值。
(3) 阅读以下程序,并分析其功能,调试运行程序后再分析其运行结果。
① 程序一,程序文件名为ex7-1.c 。(掌握冒泡排序算法)
# include stdio.h
void main()
{
int a[10],i,j,t;
printf(Input 10 numbers:\n);
for(i=0;i10;i++)
scanf(%d,a[i]);
for(j=0;j9;j++)
for(i=0;i9-i;i++)
if(a[i]a[i+1])
{ t=a[i]; a[i]=a[i+1]; a[i+1]=t; }
printf(the sorted numbers:\n);
for(i=0;i10;i++)
printf(%d ,a[i]);
printf(\n);
}
② 程序二,程序文件名为ex7-2.c 。( 掌握矩阵转置算法 )
# include stdio.h
void main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
printf(Array A:\n);
for(i=0;i2;i++)
{
for(j=0;j3;j++)
{
printf(%5d,a[i][j]);
b[j][i]=a[i][j];
}
}
for(i=0;i3;i++)
{
for(j=0;j2;j++)
printf(%5d,b[i][j]);
printf(\n);
}
}
③ 程序三,程序文件名为 ex7-3.c 。(掌握统计一行单词数的算法)
# include stdio.h
void main()
{
char string[81],c;
int i,num=0,word=0;
printf(Input a string:\n);
gets(string);
for(i=0; (c=string[i])!=\0; i++ )
if(c== )
word=0;
else if(word==0)
{
word=1;
num++;
}
printf(There are %d words in the line.\n,num);
}
(二)实验内容( 按要求设计以下程序,并调试分析运行结果 ,此部分完成在实验报告上)
(1) 用选择法对10个数实现递增排序。(文件名存为sy4-1.c)
#include stdio.h
main()
{ int a[10],i,j,k,x;
printf(Input 10 numbers:\n);
for(i=0;i10;i++)
scanf(%d,a[i]);
printf(\n);
for(i=0;i9;i+
您可能关注的文档
最近下载
- ctf考试题及答案.doc VIP
- 1.1生活 观察(教学课件)-2025-2026学年七年级数学数学上册(苏科版2024).pptx VIP
- 念珠菌性阴道炎的诊治-极经典.ppt VIP
- 2025年北京城市副中心投资建设集团有限公司招聘笔试模拟试题及答案解析.docx VIP
- 八月下旬一级建造师考试《水利水电工程管理与实务》真题(附答案).docx VIP
- 优秀病例汇报大赛课件(手工精品图文).pptx VIP
- 掼蛋教学课件.ppt VIP
- 太阁立志传5资料集.doc VIP
- 七月下旬一级建造师考试《水利水电工程管理与实务》第二次真题(附答案).docx VIP
- 美容礼仪与人际沟通讲解.ppt
文档评论(0)