掌握一维和二维数组的定义和数组元素的引用方法(精)

合集下载

c语言程序设计课程教学大纲(计算机科学与技术)

c语言程序设计课程教学大纲(计算机科学与技术)

甘肃民族师范学院计算机专业课程教学大纲C语言程序设计一、说明(一)课程性质必修课(二)教学目的本课程是为计算机类等本、专科学生开设的,以培养学生程序设计能力为目的的专业基础课,是学习其他专业课的基础,同时也是第一门高级语言程序设计课。

本课程的任务是结合一般数值计算向学生介绍计算机程序设计的基本知识,使学生掌握C语言的基本语法,掌握程序设计的基本思想、基本概念和基本方法和技巧,并能运用所学的知识和技能对一般问题进行分析和程序设计,编制出高效的C 语言应用程序;同时了解进行科学计算的一般思路,培养应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机打下基础。

(三)教学内容计算机程序语言发展史,结构化程序设计的三种基本结构,函数,数组,指针,文件。

(四)教学时数90学时,60理论,30上机(五)教学方式多媒体授课二、本文第一章C语言程序设计基础教学要点:C程序的基本结构。

上机环境,进行简单C程序的编写。

教学时数:4学时(理论3学时,上机1学时)教学内容:第一节概述程序设计语言的发展。

C程序的基本结构。

第二节开发环境上机环境,进行简单C程序的编写。

考核要求:1.掌握编写C语言程序的基本步骤。

2. 掌握上机调试过程。

第二章数据类型、运算符与表达式教学要点:数据类型。

表达式。

输入输出函数。

教学时数:12学时(理论8学时,上机4学时)教学内容:第一节数据类型整型、实型、字符型、枚举型、构造类型、指针。

第二节常量与变量第三节运算符与表达式算术运算符及表达式、关系运算符及表达式、逻辑运算符及表达式、逗号运算符及表达式、条件运算符及表达式、赋值运算符及表达式。

第四节标准输入/输出scanf()函数、printf()函数。

第五节数学函数数学库头文件<math.h>。

第六节随机数发生器函数rand()和srand()函数,对应的头文件“stdlib.h”。

考核要求:1.理解数据结构、常量、变量的概念;2.掌握各种运算符的优先级及结合方向;3.熟练掌握数据的输入、输出方法;4.了解其他数学函数及随机函数的使用方法。

数组实验报告反思心得

数组实验报告反思心得

一、实验背景本次实验旨在通过学习数组的相关知识,掌握数组的定义、初始化、赋值、引用等方法,以及数组的操作和应用。

通过本次实验,我对数组有了更深入的理解,同时也对编程思维和算法设计有了更全面的提升。

二、实验过程1. 实验一:一维数组的定义与初始化实验过程中,我首先学习了如何定义一维数组,以及如何对数组进行初始化。

通过实验,我掌握了以下知识:(1)一维数组的定义格式:类型符数组名[常量表达式];(2)一维数组的初始化方法:在定义数组时,可以在方括号内指定数组的长度,并为数组元素赋初值。

2. 实验二:二维数组的定义与初始化在实验二,我学习了二维数组的定义与初始化。

通过实验,我掌握了以下知识:(1)二维数组的定义格式:类型符数组名[常量表达式1][常量表达式2];(2)二维数组的初始化方法:可以在定义数组时,指定数组的行数和列数,并为数组元素赋初值。

3. 实验三:数组元素的引用与赋值在实验三,我学习了如何引用数组元素,以及如何为元素赋值。

通过实验,我掌握了以下知识:(1)数组元素的引用方法:数组名[下标];(2)数组元素的赋值方法:使用赋值运算符“=”。

4. 实验四:数组的操作与应用在实验四,我学习了数组的操作与应用,包括冒泡排序、选择排序等。

通过实验,我掌握了以下知识:(1)冒泡排序算法:通过比较相邻元素的大小,将较大的元素交换到后面,直到整个数组有序。

(2)选择排序算法:通过比较相邻元素的大小,选择最小(或最大)的元素放到数组的起始位置,然后继续对剩余的元素进行排序。

三、实验反思1. 数组的定义与初始化在实验过程中,我深刻体会到了数组在编程中的重要性。

数组作为一种数据结构,可以有效地存储和操作一组具有相同数据类型的元素。

通过对数组的定义与初始化,我学会了如何创建一个符合实际需求的数组,并为数组元素赋初值。

2. 数组元素的引用与赋值在实验过程中,我学会了如何引用数组元素,以及如何为元素赋值。

这使我更加熟练地掌握了数组的使用方法,为后续的编程实践打下了基础。

《C语言程序设计基础与实训教程》第7章:数组

《C语言程序设计基础与实训教程》第7章:数组

/webnew/
7.1.4 一维数组的应用举例
例7.5 将数组中的数按颠倒的顺序重新存放。要求,在操 作时只能借助一个临时存储单元而不能另外开辟数组。 分析:题目要求是按颠倒的顺序重新存放数据,而不是按 逆序输出。 可以使用两个变量i和j,i和j的初值分别为0和9,将a[i] 与a[j]对调,然后i++,j--,接着再将a[i]与a[j]对调。如些 重复操作,直到i>=j时,对调完成。 程序
分析:该数组元素的值是有规律的序列, ( 从 开始算起 开始算起) 分析 : 该数组元素的值是有规律的序列 , 第 i(i从0开始算起) 个 元素的值为: 元素的值为:10+2*i。 。 输出该数组时,由于该数组有30个元素,在一行中输出不太美观, 输出该数组时,由于该数组有 个元素,在一行中输出不太美观, 个元素 所以,这里我们选择每行输出6个元素。 所以,这里我们选择每行输出 个元素。 个元素
/webnew/
7.1.3 一维数组元素的引用
2.一维数组的输入与输出 一维数组的输入与输出 如何给数组元素赋值以及如何将数组元素的值输出是数 组最基本的操作。下面将讨论一维数组元素的输入与输出。 例7.1 定义一个五个元素的字符型数组,通过键盘给每 个元素赋值,并以相反的顺序的输出。 程序1 程序2 从上面的例子可以看出,一个数组中往往往包含较多的 数组元素,相同的赋值或输出操作将被重复多次进行,所以, 一维数组元素的输入与输出一般通过一重循环来实现。
/webnew/
7.1.3 一维数组元素的引用
注意: (1)数组元素的引用方式与数组说明符的形式非常相近,都是 “数组名[表达式]”形式,但两者的意义完全不同。 出现的位置不同。定义数组时,“数组名[表达式]”出现在 定义语句中,表示的是定义了一个名为“数组名”的数组,表达式的值 表示该数组中所包含元素的个数。作为数组元素的引用方式时,“数组 名[表达式]”出现在其它执行语句中,表示是数组中的下标为“表达式” 值的那个元素。 表达式的格式不同。定义数组时,“表达式”必须为常量表 达式。作为数组元素的引用方式时,表达式可以变量、常量或函数构成 的合法C表达式。 (2)在C语言中,起始下标规定为0,最大值应为:数组长度-1。 如果发生了下标越界的现象,可能破坏了其它存储单元的数据,甚至破 坏程序代码。 (3)下标必须是整型表达式,若为小数,则自动取整。如a[2.6] 系统自动默认为a[2]。

掌握一维和二维数组的定义和数组元素的引用方法(精)

掌握一维和二维数组的定义和数组元素的引用方法(精)
பைடு நூலகம்
static int arr[3][2]={{1, 2},{3}}; /*采用第①种赋初值方式*/ static int arr[3][2]={ 1, 2, 3}; /*采用第②种赋初值方式*/ 上面二种对数组arr部分元素赋初值的结果是相同的, 都是对数组arr的前面3个元素赋初值,后面叁个元素未 赋初值,系统自动化赋以0值。
12
§7.2 二维数组的定义和引用
在计算机中多维数组其实只是一个逻辑上的概念,在内 存中,多维数组只按元素的排列顺序存放,形成一个序 列,就好似一维数组一样。 §7.2.1 二维数组的概念
二维数组的应用很广,例如平面上的一组点的集合就可 用二维数组表示,平面上的点可用二维数组来表示:
08:47
13
⑦元素个数代表着数组的长度。
08:47 5
§7.1.2 一维数组使用
数组一经定义后,就可在程序中使用,使用格式如下: 数组名[下标] 例如 : var[3]=28; var[4]=var[2]; str[3]= ‘d’; str[2]=str[4]; printf(“%d”, a[0]); 说明: ①下标可以是整数或整型表 达式 。如:var[i+j]=2; ②C编译不检查下标是否 “出界”。
下标的值不应超过数组的长度,如var数组的长度为5, 则下标的取值在0~4的范围内。
08:47 6
【例7-1】 一维数组在程序中的使用
/*exam7_1.c 一维数组在程序中的使用*/ #include <stdio.h> main() { int i,a[5]={1,2,3,4,5}; /*初始化数组*/ printf("输出数组元素的正确值: \n"); for(i=0;i<5;i++) printf("%d\t",a[i]); printf("\n输出超出下标的元素的值:\n"); for(i=5;i<10;i++) /*使用超出下标的元素*/ printf("%d\t",a[i]); printf("\n改变数组元素的值:\n");

1.一维二维数组的定义方法,赋值和访问方法

1.一维二维数组的定义方法,赋值和访问方法

一维数组和二维数组是计算机科学中非常基础的概念,它们在数据存储和访问中起着至关重要的作用。

本文将介绍一维和二维数组的定义方法、赋值和访问方法,并深入探讨它们在编程中的应用。

1. 一维数组的定义方法一维数组是具有相同数据类型的元素组成的有序集合。

在许多编程语言中,可以使用以下方式来定义一维数组:int[] array = new int[5];在这个例子中,我们定义了一个包含5个整数元素的整型数组。

一维数组的长度是固定的,一旦定义了数组的长度,就无法更改。

2. 一维数组的赋值和访问方法一维数组的赋值可以通过索引来实现,索引从0开始计数。

例如:array[0] = 1;array[1] = 2;array[2] = 3;可以通过索引来访问数组的元素,例如:int x = array[0];通过循环遍历一维数组的元素,可以方便地对数组进行操作。

3. 二维数组的定义方法二维数组是由行和列组成的表格状数据结构。

在许多编程语言中,可以使用以下方式来定义二维数组:int[][] array2D = new int[3][3];在这个例子中,我们定义了一个包含3行3列整数元素的二维数组。

二维数组的长度也是固定的,无法更改。

4. 二维数组的赋值和访问方法二维数组的赋值同样可以通过索引来实现,例如:array2D[0][0] = 1;array2D[0][1] = 2;array2D[0][2] = 3;可以通过两个索引来访问二维数组的元素,例如:int y = array2D[0][0];同样可以通过循环遍历二维数组的元素,对数组进行操作。

总结回顾一维数组和二维数组是程序中常用的数据结构,它们可以方便地存储和访问大量的数据。

在实际编程中,我们可以根据具体的需求来选择使用一维数组还是二维数组,以便更加高效地处理数据。

个人观点和理解在我看来,一维数组和二维数组是编程中不可或缺的工具。

它们为我们提供了便利的数据存储和访问方式,可以帮助我们更好地处理各种复杂的问题。

一维和二维数组的定义

一维和二维数组的定义

7.3 字符数组和字符串
7.3.4.1字符串输入输出 --包含头文件 字符串输入输出 包含头文件stdio.h 包含头文件 4.puts向终端输出字符串 形式:puts(str); str是输出字符串的起始地址,从这一地址开始,依次输出存储单元 中的字符,直到遇到第一个‘\0’为止。并自动输出一个换行符。 str是存放字符串的起始地址。可以是字符数组名、字符数组元素地 址或下一章将要介绍的字符指针。 7.3.4.2字符串处理函数 -- 包含头文件string.h 字符串处理函数 1.字符串复制函数strcpy。调用形式如下: strcpy(s1,s2) 2.字符串连接函数strcat。调用形式如下: strcat(s1,s2)
第七章
数组
♦一维和二维数组的定义 ♦数组元素引用 ♦字符数组和字符串 ♦数组应用的基本算法
7.1一维数组
7.1.1 一维数组的定义
数组的维数是指表示数组使用的下标个数,如果数组中 每个元素只带有一个下标,称这样的数组为一维数组。 定义形式为: 类型说明符 数组名[常量表达式]; 数组名[常量表达式] 类型说明符指出数组元素的数据类型,数组名是标识 符,元素个数使用方括号和常量表达式。 【讨论】C语言数组大小的规定。 【讨论】如何理解数组名。
7.2 二维和多维数组
7.2.2 二维数组的引用
引用二维数组元素时必须带有两个下标, 形式如下: 数组名[下标1][下标2]
7.2.3 二维数组存储
二维数组在内存中占据一系列连续的存储单元, 数组元素按行顺序存放,先放行下标是0的元素,再 放行下标是1的元素,... 数组int a[3][4]的存储示意
7.3 字符数组和字符串
7.3.3 字符串数组
字符串数组就是数组中的每一个元素又都是存放字 符串的数组。 可以将一个二维字符数组看作一个字符串数组。 例:char line[10][80]; 数组line共有10个元素,每 个元素可以存放80个字符(79个普通字符,一个结束字 符),第一个下标决定字符串个数,第二个下标决定字 符串的最大长度。line是有10个字符串的数组,这些字 符串的最大长度为79。

c语言实验7数组实验报告

c语言实验7数组实验报告

实验报告课程名称程序设计实验项目名称数组班级与班级代码14级计算机科学与技术1班实验室名称(或课室) SS1-332专业计算机科学与技术任课教师学号:姓名:实验日期:2014年月日广东商学院教务处制一.实验目的1.熟练掌握一维数组、二维数组的定义、赋值、输入、输出方法。

2.熟练掌握字符数组和字符串函数的使用。

3.熟练掌握一位数组以及一位数组元素的存储关系。

4.熟练掌握一位数组和二维数组的使用以及在函数中的传递。

5.通过上机实践掌握与数组有关的算法。

二、实验内容上机题1输入并运行以下程序。

实验内容:用2个数组对第3个数组进行赋值#include<stdio.h>main(){int i,a[5],b[5],c[5];a[0]=2,a[1]=6,a[2]=4,a[3]=8,a[4]=9;b[0]=2,b[1]=7,b[2]=9,b[3]=5,b[4]=3;for(i=0;i<=4;i++){c[i]=a[i]*b[i];printf("c[%d]=%d\n",i,c[i]);}}实验步骤○1int a[5]:整型一维数组说明,a是数组名,也是数组的起始地址,该数组可以存储5个整数。

a[0]~a[4]也可以看成是变量标识字符,[]中的数值称为数组下标,下标从0开始。

○2数组赋值方法和一般变量一样。

例如,a[0]=2表示将2赋给a[0]。

运行结果上机题2 输入并运行以下程序。

实验内容:对不指明数组的数组进行赋值并用循环结构进行求和#include<stdio.h>main(){int sum,i;int a[]={5,8,4,6,4,3,8,2,4,5,6};sum=0;for(i=0;i<=10;i++)sum+=a[i];printf("sum=%d\n",sum);}实验结果实验小结○1对全部元素赋初值时,可以不指定数组长度,C编译系统自动根据初值个数来决定数组长度。

2020 河北省专接本考试大纲(C语言程序设计)

2020 河北省专接本考试大纲(C语言程序设计)

河北省普通高校专科接本科教育考试计算机科学与技术/软件工程/网络工程/物联网工程专业考试说明一、内容概述与要求第一部分:C 语言程序设计I.课程简介C 语言程序设计课程考试是为招收计算机类相关专业专科接本科学生而实施的入学考试。

参加 C 语言程序设计课程考试的考生应理解 C 程序的基本构成、C 程序中的数据类型及其运算、结构化程序设计的三种基本结构(顺序、选择、循环)、数组、函数;了解编译预处理命令、指针、结构体与共用体、位运算等知识模块所涉及的基本概念、语法规范;掌握运用以上语法知识进行结构化程序设计的基本方法;熟悉程序设计中简单的数据结构和算法,具有一定的分析和编写简单 C 程序的能力,以及基本的纠错和调试程序的能力。

考生应具有规范的结构化编程思维,能够综合运用所学知识分析并解决简单的实际问题。

C语言程序设计课程考试从两个层次对考生进行测试,较高层次的要求为“理解”和“掌握”,较低层次的要求为“了解”和“会”。

这里“理解”和“了解”是指对概念与理论提出的要求。

“掌握” 和“会”是指对使用方法、应用能力提出的要求。

二、考试形式与试卷结构考试采用闭卷、笔试形式,全卷满分为150 分,考试时间为75 分钟。

试卷包括选择题、程序阅读题、程序填空题和编程题。

选择题是四选一型的单项选择题;程序阅读题、程序填空题只要求直接填写结果;编程题应写出完整的程序代码,要求符合 C 语言的语法规范。

选择题和程序阅读题分值合计为70 分。

程序填空题和编程题分值合计为80 分。

II.知识要点与考核要求一、C 语言程序的结构(一)知识范围C 语言程序的基本构成;头文件、函数构成以及程序中的注释; C 程序的执行过程;源程序的书写格式。

(二)考核要求1. 理解 C 程序的基本结构及执行过程。

2. 理解 C 程序中头文件、注释等概念,会在程序中正确使用文件包含命令以及添加注释。

3. 理解 C 函数的构成形式。

4. 了解 C 程序源代码的书写格式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

num[0]=2; num[1]=4; num[2]=6; num[3]=8;
wod[0]=‘a’; wod[1]=‘b’; wod[2]= ‘c’; wod[3]=‘d’;
08:47 4
⑥对存储类型为静态的,若<初值列表>的个数少于 元素个数,则只能给前面的元素赋值,后面的元素 的值自动为零(对数值数组)或自动为空字符(对 字符数值)。 “空字符”是指ASCⅡ码为零的字符。 如:static int var[5]={12, 17, 19}; static char str[5]={ ‘A’, ‘B’, ‘C’}; 其实际含义为: var[0]=12; var[1]=17; var[2]=19; var[3]=var[4]=0; str[0]=‘A’; str[1]=‘B’; str[2]=‘C’; str[3]=str[4]=‘NULL ’;
⑦元素个数代表着数组的长度。
08:47 5
§7.1.2 一维数组使用
数组一经定义后,就可在程序中使用,使用格式如下: 数组名[下标] 例如 : var[3]=28; var[4]=var[2]; str[3]= ‘d’; str[2]=str[4]; printf(“%d”, a[0]); 说明: ①下标可以是整数或整型表 达式 。如:var[i+j]=2; ②C编译不检查下标是否 “出界”。
08:47 11
08:47
for(i=0; i<N-1; i++) /* 冒泡排序*/ for(j=0; j<N-i-1; j++) /*第i趟扫描*/ if( a[j] > a[j+1] ) /*相邻两 数比较*/ { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } /* 交换*/ puts("排序后:"); for(i=0; i<N; i++) /*输出排序后的N个数*/ printf("%d ", a[i]); printf("\n"); } 程序运行结果如下: 排序前: 4 3 8 10 5 2 9 6 13 7 排序后: 2 3 4 5 6 7 8 9 10 13
08:47 10
程序如下: /*程序7_2.c,冒泡排序*/ #include <stdio.h> #include <stdlib.h> #include <time.h> #define N 10 void main( ) { int a[N]; int i,j,t; srand( (unsigned)time( NULL ) ); /* 初始化随机 序列*/ for(i=0; i<N; i++) /*产生N个随机数*/ a[i]=rand(); puts("排序前:"); for(i=0; i<N; i++) /*输出N个随机数*/ printf("%d ", a[i]); printf("\n");
static int arr[3][2]={{1, 2},{3}}; /*采用第①种赋初值方式*/ static int arr[3][2]={ 1, 2, 3}; /*采用第②种赋初值方式*/ 上面二种对数组arr部分元素赋初值的结果是相同的, 都是对数组arr的前面3个元素赋初值,后面叁个元素未 赋初值,系统自动化赋以0值。
§7.2.2
二维数组定义
二维数组的定义格式为: <类型标识符> 数组名[行数][列数]: 例如:char word[3][2]; /* 数组word,具有3行2列, 每一个数组元素的值都是字符型数据。 */ int num[2][4]; /* 数组num,具有2列4行, 每一个数组元素的值都是整型数据。 */ 必须记住,数组元素的下标从0开始,因此,数组 word中的元素为: word[0][0] word[0][1] word[1][0] word[1][1] word[2][0] word[2][1]
数组特点: 1.数组元素的个数必须在定义时确定,程序中不可改变。 2.同一数组中的数组元素的类型是相同的。 3.数组元素的作用相当于简单变量。 4.同一数组中的数组元素在内存中占据的地址空间是连 续的。
08:47 2
§7.1.1 一维数组初始化
数组的初始化:对数组元素赋初值。 初始化数组格式: [static] <类型标识符> <数组名[元素个数]>={<初值列表>} 或 <类型标识符> <数组名[元素个数]>={<初值列表>} 例如: [static] int num[4] ={2, 4, 6, 8}; /* 初始化① */
08:47 18
§7.2.3 二维数组的初始化 对二维数组及多维数组的元素赋值初值时,采用“按 行优先”。赋值时可采用对元素全部赋值和部分赋值两 种方式,以二维数组arr[3][2]为例: 一、对全部元素赋初值:
赋初值格式:
<类型标识符> arr[3][2]= {{a1, a2}, {a3, a4}, {a5, a6}}; ——① 或:<类型标识符> arr[3][2] ={a1, a2, a3, a4, a5, a6}; ——②
08:47 7
a[0]=(a[1]+a[2])*(a[3]+a[4]); printf("a[0]=%d\n",a[0]); }
程序运行结果:
输出数组元素的正确值: 1 2 3 4 输出超出下标的元素的值: 0 320 2594 0 改变数组元素的值: a[0]=45
08:47
5
0
8
【例 7-2 】编写程序,实现随机产生 10 个整数,用 冒泡排序法从小到大到排序。
12
§7.2 二维数组的定义和引用
在计算机中多维数组其实只是一个逻辑上的概念,在内 存中,多维数组只按元素的排列顺序存放,形成一个序 列,就好似一维数组一样。 §7.2.1 二维数组的概念
二维数组的应用很广,例如平面上的一组点的集合就可 用二维数组表示,平面上的点可用二维数组来表示:
08:47
13
08:47 14
二维数组在内存中的存放顺序是“按行优先”,即 先存放第一行,然后是第二行、第三行……直到最 后一行。例如,前面的word数组在内存中的存放顺 序如图所示:
08:47
15
从二维数组中各元素在内存中的排列顺序可以 计算出数组元素在数组中的顺序号。假设有一个 m×n的二维数组a,其中i行,j列元素a[i][j]在数组 中排列的位置为: i×n+j(其中 i=0, 1, 2, ……, n-1, j=0, 1, ……, n-1)
[static] char wod[]={‘a’, ‘b’, ‘c’, ‘d’}; /* 初始化② */
08:47
3
说明: ①<初值列表>是用逗号分隔的数值。 ②若对数组中的所有元素都赋以初值,可不必指出元素 个数。见上面的初始化② ③<初值列表>中数值的类型必须与<类型标识符>一致。 ④C语言中,在n个元素组成的一维数组中,数组元素 的下标值依次为0,1,2,…(n-1)。 ⑤上面的初始化数组的实际含义是:
上面三种对数组arr元素赋初值的结果都是相同 的,程序在编译时会按数组在内存中的排列顺序将 各初值赋给数组元素。 在元素个数确定的情况下,缺省维数元素个数只 能是最前面的。 思考arr[3][2]中数组元素在内存中的顺序和数组元 素的值?
08:47 20
二、对部分元素赋初值: 赋初值格式:<类型标识符> arr[3][2]={{a1, a2},{a3}}; ① <类型标识符> arr[3][2]={ a1, a2, a3}; ② 式①称为分行赋值方式,式②称为按顺序赋值。 例如:
或:<类型标识符> arr[ ][2]= {{a1, a2, a3, a4, a5, a6};
——③
式①称为分行赋值方式;式②、式③称为按顺序赋值。
08:47
19
例如:
int arr[3][2]={{1,2}, {3, 4}, {5, 6}}; /*采用第①种赋值方式*/ int arr[3][2]={ 1,2, 3, 4, 5, 6}; /*采用第②种赋值方式*/ int arr[ ][2]={ 1,2, 3, 4, 5, 6}; /*采用第③种赋值方式*/
08:47 17
for (i=0;i<3;i++) { for (j=0;j<4;j++)
printf("ary[%d][%d]=%d\t",i,j,ary[i][j]); printf("\n"); } }
程序运行结果:
Please input number of array: 1 2 3 4 5 6 7 8 9 10 11 12 The number of ary is: ary[0][0]=1 ary[0][1]=2 ary[0][2]=3 ary[0][3]=4 ary[1][0]=5 ary[1][1]=6 ary[1][2]=7 ary[1][3]=8 ary[2][0]=9 ary[2][1]=10 ary[2][2]=11 ary[2][3]=12
08:47 9
冒泡法排序法的思想是相邻两个数据进行比较,较 小的数交换到前面。例如:有10个数据:4, 3, 8, 10, 5, 2, 9, 6, 13, 7。冒泡排序的原理描述如下: 第0趟扫描(每一行括号里的两个数正在比较): ⑷, ⑶, 8, 10, 5, 2, 9, 6, 13, 7 3, ⑷, ⑻, 10, 5, 2, 9, 6, 13, 7 3, 4, ⑻, ⑽,5, 2, 9, 6, 13, 7 3, 4, 8, ⑽,⑸, 2, 9, 6, 13, 7 3, 4, 8, 5,⑽,⑵, 9, 6, 13, 7 3, 4, 8, 5, 2,⑽,⑼, 6, 13, 7 3, 4, 8, 5, 2,9,⑽,⑹, 13, 7 3, 4, 8, 5, 2,9,6,⑽,⒀, 7 3, 4, 8, 5, 2,9,6,10,⒀, ⑺ 3, 4, 8, 5, 2,9,6,10,7, 13 经过10次比较后,最大的一个数13放到了最右边。
相关文档
最新文档