- 3
- 0
- 约3.13万字
- 约 18页
- 2017-11-24 发布于四川
- 举报
PAGE
PAGE 1
第六章 数 组
前面几章介绍的数据类型有整型、实型和字符型,它们都属于基本数据类型。除此之外,C语言还提供了一些更为复杂的数据类型,称为构造类型或导出类型,它们由基本类型按一定的规则组合而成。
数组是最基本的构造类型,它是一组相同类型数据的有序集合。数组中的元素在内存中连续存放,每个元素都属于同一种数据类型,用数组名和下标可以唯一确定数组元素。下面我们先看看下面的一个例子,了解一下怎样用数组。
6.1.1 排序问题
例6.1 用选择法对10个整数排序(从小到大)
设有数组a[11]有10个元素a[1]~a[10],将a[1]与a[2]~a[10]比较,若a[1]比a[2]~a[10]都小,则不进行交换,即无任何操作。若a[2]~a[10]中有一个以上比a[1]小,则将其中最小的一个(假设为a[i])与a[1]交换,此时a[1]中存放了10个数中最小的那个数。第二轮将a[2]与a[3]~a[10]比较,将剩下的9个数中的最小者a[i]与a[2]对换,此时a[2]中存放的是10个数中第2小的数。以此类推,共进行9轮比较,a[1]到a[10]就按由小到大顺序存放了。
#include stdio.h
main()
{
int i,j,min,temp;// 定义变量
int a[11];// 定义数组,数组中存放10个数(元素),从a[1] ~ a[10]存放,但定
// 时要定义a[11],而不是a[10],因为数组最后的一个元素位置系统自动// 给放一个结束标志,所以定义数组时,一般都要多定义一个数组单元。
printf(Enter data:\n);
for(i=1;i=10;i++)
{ printf(a[%d]=,i);
scanf(%d,a[i]);//输入10个数
}
printf(\n);
printf(你输入的10个数是:);
for(i=1;i=10;i++)
printf(%5d,a[i]);// 输出你敲入的这10个数
printf(\n);
for(i=1;i=9;i++) // 以下8行是对10个数进行排序,i=9是循环9次
{ min=i;
for(j=i+1;j=10;j++)
if(a[min]a[j])
min=j;
temp=a[i]; // 以下3行将a[i+1] ~ a[10]中最小者与a[i]对换
a[i]=a[min];
a[min]=temp;
}
printf(排好序的10个数是:);
for(i=1;i=10;i++) // 输出已排好序的10个数
printf(%5d,a[i]);
printf(\n\n);
return 0;
}
运行结果是:Enter data:
a[1]= (敲入)6
a[2]= (敲入)90
a[3]= (敲入)45
a[4]= (敲入)56
a[5]= (敲入)5
a[6]= (敲入)15
a[7]= (敲入)44
a[8]= (敲入)78
a[9]= (敲入)58
a[10]=(敲入)99
你输入的10个数是: 6 90 45 56 5 15 44 78 58 99
排好序的10个数是: 5 6 15 44 45 56 58 78 90 99
程序的功能很明显,输入一批整数并排序,然后输出排好序后的数。这就要求保存输入数据,并对它们进行处理,程序中用一个整型数组,而不是若干个整型变量来存放它们。
定义一个整型数组a后,在内存中开辟了10个连续的单元,用于存放数组a的10元素a[0]~a[9]的值,这些元素的类型都是整型,由数组名a和下标唯一地确定每个元素。这10个数组元素接收输入数据后,相应内存单元的存储内容如图6.1所示。程序中为适应人们的习惯,将0单元当做1单元开始。
6
90
45
56
5
15
44
78
58
99
a a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]
图 6.1 数组元素的存储
在程序中使用数组,可以让一批相同类型的变量使用同一个数组变量名,用下标来相互区分。它的优点是表达简洁,可读性好,便于使用循环结构。
6.1.2 一维数组的定义和引用
1、定义
定义一个数组,需要明确数组变量名、数组元素的类型和数组的
您可能关注的文档
- 《教育综合》教育法律法规辅导【书上有红色为重点】.doc
- 《中华人民共和国义务教育法》考试试题及答案.doc
- 【传播,广电,动画专业考研分析材料】之传播学.doc
- 2电泳涂料与电泳涂装.doc
- 2硬聚氯乙烯风管制作与安装费下载.doc
- 3c(国家强制性产品认证)简介.doc
- 5-30预应力连续箱型桥梁设计计算书.doc
- 6套试题及答案(教育心理学、新课程、教育法律法规、.doc
- 30米箱梁预制箱梁方案.doc
- 94水泥乳化沥青施工作业指导书.doc
- 2026重庆市水利发展研究中心劳务派遣岗位招聘1人备考题库含答案详解.docx
- 2026重庆市水利发展研究中心劳务派遣岗位招聘1人备考题库及答案详解一套.docx
- 湖南省部分学校2025-2026学年高三上学期11月期中考试生物试题.docx
- 小学信息技术四年级下册图像属性处理复习知识清单.docx
- 湖南省部分学校2026届高三十月阶段监测联考生物试题.docx
- 建筑机械操作安全与技术指导.docx
- 初中物理八年级上册“直线运动”复习知识清单.docx
- 2023年05月30日康赛妮(海南)时尚科技有限公司康赛妮高端消费品研发与智能制造项目.pdf
- 区域体育基础设施差异化建设对协调发展的影响研究.docx
- 2026重庆市水利发展研究中心劳务派遣岗位招聘1人备考题库及完整答案详解1套.docx
原创力文档

文档评论(0)