数组程序设计实验报告

合集下载

数组及应用实验报告

数组及应用实验报告

一、实验目的1. 理解数组的定义和概念,掌握数组的声明、初始化和访问方法。

2. 掌握一维数组和二维数组的操作,包括元素的赋值、排序、查找等。

3. 熟悉数组在实际编程中的应用,如排序算法、查找算法等。

4. 培养解决实际问题的能力,提高编程水平。

二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 语言:C/C++三、实验内容1. 一维数组的声明、初始化和访问2. 一维数组的排序(冒泡排序、选择排序、插入排序)3. 一维数组的查找(线性查找、二分查找)4. 二维数组的声明、初始化和访问5. 二维数组的操作(求和、求平均值、查找最大值和最小值)6. 数组在实际编程中的应用(如冒泡排序算法实现、字符串匹配)四、实验步骤1. 一维数组的声明、初始化和访问(1)声明一个整型一维数组,如int arr[10];(2)初始化数组,如arr[0] = 1, arr[1] = 2, ...;(3)访问数组元素,如printf("%d", arr[i]);2. 一维数组的排序(1)冒泡排序:比较相邻元素,如果逆序则交换,重复执行,直到排序完成。

(2)选择排序:每次选择未排序部分的最小(或最大)元素,放到已排序部分的末尾。

(3)插入排序:将未排序的元素插入到已排序部分的合适位置。

3. 一维数组的查找(1)线性查找:逐个比较数组元素,找到目标元素则返回其位置。

(2)二分查找:在有序数组中,先确定中间元素,再与目标元素比较,根据比较结果缩小查找范围。

4. 二维数组的声明、初始化和访问(1)声明一个整型二维数组,如int arr[3][4];(2)初始化数组,如arr[0][0] = 1, arr[0][1] = 2, ...;(3)访问数组元素,如printf("%d", arr[i][j]);5. 二维数组的操作(1)求和:遍历二维数组,将所有元素相加。

C语言实验五实验报告——数组

C语言实验五实验报告——数组

C语言实验五实验报告——数组一、实验目的:1.了解数组的概念和基本使用方法;2.掌握一维数组和二维数组的定义、初始化、赋值及基本运算实现;二、实验内容与方法1.理论部分数组是一些具有相同类型的数据元素按一定顺序排列组合而成的集合,在程序设计中它是一个变量列表,由若干相同数据类型的元素组成。

通常用一个名字和一个下标来表示,下标可理解为数组元素在数组中的位置编号。

数组的特点:数组是根据顺序排列的元素的集合;所有的元素必须是相同类型。

数组的定义方法:1. 定义数组,数组元素类型 + 数组名[元素的个数];2. 元素的个数必须是整型常量或变量,定义时必须明确、指定元素的个数;3. 声明一个数组时,除了要指定数组的类型外,还要指定数组的名称;4. 数组定义完后,需要对其中的每个元素进行初始化。

可以在定义数组时赋初值,也可以通过赋值符号,对数组元素逐个进行赋值。

数组的初始化:1. 元素个数之间用逗号分开,最后1个元素后无逗号;2. 支持部分元素初始化;3. 定义和初始化可以一步完成。

二维数组数组可分为一维和多维数组。

一维数组可以看作是包含多个元素的向量,而二维数组可以看做是包含了多个一维数组的矩阵。

二维数组有行号和列号,因此,它同样需要两个下标。

数组元素类型数组名[行数][列数];数组元素类型数组名[ ][ ] = { {元素1, 元素2, ……}, {元素1, 元素2, ……}, ……{元素1, 元素2, ……}}2.实验代码**问题1:**定义一个一维数组a,包含有5个元素,分别为1,2,3,4,5;**问题2:**定义一个一维数组a,接收用户从键盘输入的5个数值,分别打印存储的各个元素。

三、实验结果与分析结果分析:定义了一个5个元素的一维数组a,并初始化了各个元素的值,其元素分别为1,2,3,4,5.循环遍历一遍数组a,并打印数组元素。

程序执行正常。

3.针对问题3:定义一个二维数组a,由4行3列组成,每个元素初始化为0,打印存储的各个元素;程序运行结果如下:四、实验总结:该实验主要是通过对C语言数组的理论知识和基本操作进行练习,加深了对数组的了解和掌握。

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编译系统自动根据初值个数来决定数组长度。

C语言实验报告数组

C语言实验报告数组

实验七数组1.实验目的(1)熟练掌握一维数组、二维数组的定义、初始化和输入/输出方法;(2)熟练掌握字符数组和字符串函数的使用;(3)掌握与数组有关的常用算法如查找、排序等..2.实验指导(1)对任意一个一维型数组;从中找出数组元素的最大值和最小值并输出..要求:①数组有十个元素;②使用scanf函数实现数组元素的输入前给出必要的提示;③输出时;首先输出数组的十个元素;然后输出其最大值和最小值..分析指导:①算法分析:首先定义一个数组;通过循环从键盘输入十个数组元素的值;再通过另一个循环判断数组元素的最大只和最小值;②根据分析情况编写程序:include<stdio.h>mainint a10;i;max;min;printf"please input ten integers:";fori=0;i<=9;i++{scanf"%d";&ai;}max=a0;min=a0;fori=1;i<=9;i++{ifai>maxmax=ai;ifai<minmin=ai;}fori=0;i<=9;i++{printf"a%d=%d\n";i;ai;}printf"The maximum value is %d;and the minimum value is %d\n";max;min;运行程序;输入十个整数;如:21 37 6 17 9 12 89 76 35 59运行结果如下:(2)编写函数cmpStrchar s1;char s2比较两个字符串s1和 s2的大小..如果s1>s2;返回一个正数;s1=s2;返回0;s1<s2;返回一个负数;在主函数中调用该函数完成字符串的比较操作;并输出返回的值..要求:①不允许使用strcmp函数;②用gets函数在主函数中输入两个字符串;③实现触摸屏受托人函数;返回的正数或负数的绝对值应该是进行比较的两个字符传中相应字符的ASCII码的差值..分析指导:①算法分析:两个字符串从第一个字符开始一一对应进行比较;直到不相等的那个字符;从而求得它们的ASCII码的差值..比如;‘A’与‘C’相比;由于‘A’<‘C’;应输出负数;由于‘A’与‘C’的ASCII码的差值为2;因此;应输出“-2”..同理;“And”和“Aid”比较;根据第二个字符比较结果;‘n’比‘I’大5;因此应输出‘5’;②根据分析情况编写程序:include<stdio.h>int cmpstrchar s1;char s2{int i;diff;i=0;whiles1i==s2i&&s1i='\0'i++;ifs1i=='\0'&&s2i=='\0'diff=0;elsediff=s1i-s2i;return diff;}void main{int z;char s1100;s2100;printf"input the first string:";//输入字符串1gets s1;printf"input the second string:";//输入字符串2getss2;z=cmpstrs1;s2;//输出比较结果printf"the difference between two strings is %d\n";z;}查看运行结果如下:重新输入两个字符串meet;mood运行结果如下:(3)再给定的字符串中查找指定的字符..要求:①字符串采用直接初始化的方式处理;②通过scanf函数读入一个任意字符;③在字符串中查找该字符;如果存在该字符;输出该字符在字符串中的一次出现的位置;如果再给定的字符串中不存在该字符;则给出相应的说明信息..include<stdio.h>void main{int i;char ch;char s=" program";printf" 输入一个英文字母: ";scanf"%c";&ch;for i=0;si='\0';i++{if si==chbreak;}if i<7printf"s%d=%c\n";i;ch;elseprintf"No founded\n";}输入一个英文字母O运行程序如下:再次输入一个英文字母w运行程序如下:(4)首先输入一个大于二且小于十的整数n;然后定义一个二维整型数组nn;初始化该数组;讲述组中最大元素所在的行和最小元素所在的行对调..要求:①nn数组元素的值由scanf函数从键盘输入假定最大值最小值不在同一行上;然后输出该数组;②查找最大值最小值所在的行;将数组中最大元素所在的行和最小元素所在的行对调;并输出对调后的数组;③为直观起见;数组按n行n列的方式输出;④修改程序;对最大值与最小值可能出现在一行种的情况进行处理.. include<stdio.h>main{long matrix99;min;max;temp;int i;j;n;nMax=0;nMin=0;printf"\nplease inpute n of matrix:\n";scanf"%d";&n;printf"\nplease inpute elements of matrix%d%d:\n";n;n; fori=0;i<n;i++forj=0;j<n;j++scanf"%ld";&matrixij;min=max=matrix00;fori=0;i<n;i++forj=0;j<n;j++{ifmatrixij>max{max=matrixij;nMax=i;}else ifmatrixij<min{min=matrixij;nMin=j;}}forj=0;j<n;j++{temp=matrixnMaxj;matrixnMaxj=matrixnMinj;matrixnMinj=temp;}printf"\nResult matrix:\n";fori=0;i<n;i++{forj=0;j<n;j++printf"%5ld";matrixij;printf"\n";}}输入一个数4;输入一个44的数组1 3 6 72 4 5 81 3 5 72 6 9 7运行程序如下:再次输入一个数字3;输入一个33的数组1 2 32 4 537 8运行程序如下:3 实验结论通过本次实验熟练的掌握一维数组、二维数组的定义、初始化和输入/输出方法以及字符数组和字符串函数的使用;还有就是掌握与数组有关的常用算法。

PHP数组实验报告

PHP数组实验报告

PHP数组实验报告一、实验目的1.理解PHP数组的概念和使用方法;2.掌握PHP数组的创建和操作方法。

二、实验要求1.利用PHP构建一个包含学生信息的数组;2.实现对数组的增加、修改、查询和删除操作;3.运用循环结构和条件判断结构对数组进行遍历和筛选操作;4.设计一个简单的学生信息管理系统。

三、实验过程1.创建一个包含学生信息的多维数组,每个学生包含姓名、性别、年龄和成绩四个属性;2.利用循环结构和条件判断结构实现对数组的遍历和筛选操作;3.根据用户输入的指令,实现对数组的增加、修改、查询和删除操作;4.根据用户的指令,设计一个简单的学生信息管理系统,实现学生信息的录入、查询、修改和删除功能。

四、实验结果以下是一个包含学生信息的多维数组的示例:```$students = arrayarray("姓名" => "张三", "性别" => "男", "年龄" => 20, "成绩" => 80),array("姓名" => "李四", "性别" => "女", "年龄" => 19, "成绩" => 90),array("姓名" => "王五", "性别" => "男", "年龄" => 18, "成绩" => 70),```用户可以通过输入指令来对学生信息进行操作,例如:```请输入指令:查询请输入学生姓名:张三姓名:张三性别:男年龄:20成绩:80请输入指令:修改请输入学生姓名:李四请输入学生年龄:20修改成功!请输入指令:删除请输入学生姓名:王五删除成功!```五、实验总结通过本次实验,我深入了解了PHP数组的概念和使用方法,并掌握了创建、遍历和操作数组的技巧。

java数组实验报告

java数组实验报告

java数组实验报告《Java数组实验报告》在计算机编程中,数组是一种非常重要的数据结构,它可以存储多个相同类型的数据,并且可以通过索引来访问和操作这些数据。

在Java编程语言中,数组也是一个非常常用的数据类型,它可以用来解决各种问题,比如存储一组数字、字符串或者其他对象。

为了更好地理解和掌握Java数组的使用,我们进行了一系列的实验。

首先,我们学习了如何声明和初始化一个数组,以及如何访问和修改数组中的元素。

接着,我们实验了数组的遍历和排序,掌握了常见的数组操作技巧。

然后,我们深入研究了多维数组的使用,比如二维数组和三维数组,以及如何在程序中使用这些复杂的数据结构。

在实验过程中,我们发现了一些有趣的现象。

比如,在数组遍历和排序的过程中,我们可以通过循环和条件判断来实现各种不同的算法,从而对数组进行高效的操作。

另外,多维数组的使用也为我们提供了更多的可能性,可以用来表示更加复杂的数据结构,比如矩阵和图等。

通过这些实验,我们不仅深入理解了Java数组的使用方法,还提高了自己的编程技能。

我们相信,掌握了数组这一基础的数据结构,我们在以后的编程工作中一定会更加得心应手,能够更加高效地解决各种问题。

同时,我们也意识到,数组作为一种基础的数据结构,它的重要性不言而喻,我们应该不断地加强对它的学习和理解,以便更好地应用它来解决实际问题。

总之,通过这次实验,我们对Java数组有了更加深入的了解,也提高了自己的编程能力。

我们相信,通过不断地学习和实践,我们一定能够成为更加优秀的程序员,为社会的发展做出更大的贡献。

C语言实验五实验报告——数组

C语言实验五实验报告——数组

C语言实验五实验报告——数组实验五:数组实验目的:1.掌握数组的定义和使用;2.熟悉数组在函数中的传递;3.练习编写使用数组的程序。

实验原理:数组是一组相同类型的变量的集合,这些变量称为数组的元素。

数组的名字是一个指针常量,它存放的是数组首个元素的地址。

数组元素在内存中是连续存放的,可以通过下标访问每一个元素。

数组的定义:数组的定义格式为:数据类型数组名[数组长度];数组的初始化:数组可以在定义时进行初始化,也可以在定义之后通过赋值进行初始化。

数组作为函数参数:数组可以作为函数的形参进行传递,可以通过指针传递整个数组,也可以传递数组的部分元素。

实验步骤:1.编写一个程序,实现对学生成绩的管理。

要求如下:-使用一个数组保存学生的成绩;-能够动态添加学生的成绩,并显示添加成功的信息;-能够计算学生的平均成绩,并显示;-能够根据用户输入的学号查找对应学生的成绩,并显示。

2.编写一个程序,实现对一组整数进行排序。

要求如下:-首先自定义一个整数数组,数组元素个数为用户输入;-编写一个函数,实现对数组进行排序,要求使用选择排序算法;-在主函数中调用该函数,对数组进行排序后显示。

实验结果与分析:1.学生成绩管理程序运行结果如下:```-------学生成绩管理系统-------[1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:1请输入成绩:90添加成功![1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:1请输入成绩:85添加成功![1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:2平均成绩为:87.5[1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:3 [1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:4退出系统。

```2.整数排序程序运行结果如下:```-------整数排序-------请输入待排序的整数个数:6请输入第1个整数:5请输入第2个整数:3请输入第3个整数:9请输入第4个整数:2请输入第5个整数:7请输入第6个整数:1排序前的整数序列为:539271排序后的整数序列为:123579 ```实验总结:通过本次实验,我深入理解了数组的原理和用法,并且掌握了数组在函数中的传递。

C语言实验报告《数组》

C语言实验报告《数组》

C语言实验报告《数组》《数组》实验报告实验目的:掌握C语言中数组的定义、初始化和使用方法,了解数组在程序中的作用和用途,熟悉数组的基本操作。

实验内容:1.数组的定义和初始化2.数组的基本操作-访问数组元素-修改数组元素-遍历数组-数组作为函数参数实验步骤:1.数组的定义和初始化定义一个整型数组,数组名为array,数组大小为10。

使用for循环将数组元素初始化为0。

2.数组的基本操作1) 访问数组元素:通过下标访问数组的元素,例如array[0]表示数组的第一个元素。

2)修改数组元素:通过下标将数组的元素修改为新的值。

3) 遍历数组:使用for循环遍历数组的每个元素,并输出其值。

4)数组作为函数参数:将数组作为函数的参数传递,并在函数内对数组进行操作。

实验结果:1.数组的定义和初始化:int array[10];for (int i = 0; i < 10; i++)array[i] = 0;}2.数组的基本操作:1)访问数组元素:int x = array[0]; // 访问第一个元素的值,即数组的第一个元素2)修改数组元素:array[0] = 1; // 将第一个元素的值修改为13)遍历数组:for (int i = 0; i < 10; i++)printf("%d ", array[i]); // 输出每个元素的值}4)数组作为函数参数:void printArray(int arr[], int len)for (int i = 0; i < len; i++)printf("%d ", arr[i]); // 输出数组的每个元素}}int maiint myArray[5] = {1, 2, 3, 4, 5};printArray(myArray, 5); // 将数组myArray作为参数传递给printArray函数return 0;}实验总结:通过本次实验,我们掌握了C语言中数组的定义和初始化方法,学会了访问数组元素、修改数组元素、遍历数组的操作,还了解了数组作为函数参数的使用。

java实验报告--数组

java实验报告--数组

java实验报告--数组Java实验报告 - 数组引言:Java是一种广泛应用于软件开发的编程语言,其强大的数组功能使得它成为处理大量数据的理想选择。

本实验报告将探讨Java中数组的基本概念、使用方法以及一些常见的应用场景。

一、数组的定义与初始化在Java中,数组是一种用于存储多个相同类型元素的数据结构。

数组可以存储基本数据类型(如整数、浮点数等)或者对象。

声明一个数组需要指定元素的类型和数组的名称,然后使用关键字"new"来创建数组对象。

二、数组的访问与操作通过索引(index)可以访问数组中的元素,索引从0开始计数。

例如,对于一个长度为10的整数数组,可以使用arr[0]来访问第一个元素,arr[1]来访问第二个元素,以此类推。

数组的长度可以通过arr.length来获取。

三、数组的遍历与排序遍历数组是指逐个访问数组中的元素。

常用的遍历方法有使用for循环和foreach循环。

对于需要对数组进行排序的情况,可以使用Java提供的排序算法(如快速排序、冒泡排序等)或者使用Arrays类中的sort方法。

四、多维数组除了一维数组,Java还支持多维数组。

多维数组可以看作是数组的数组,可以用于存储表格、矩阵等结构化数据。

在声明多维数组时,需要指定每一维的长度。

五、数组的应用场景1. 数据存储与处理:数组可以用于存储和处理大量数据,如学生成绩、员工工资等。

通过数组,可以方便地进行数据的查找、排序和统计等操作。

2. 图像处理:图像可以用二维数组表示,每个元素代表一个像素点的颜色值。

通过对数组的操作,可以实现图像的旋转、缩放等功能。

3. 算法实现:许多算法的实现都需要使用数组,如查找算法、排序算法等。

数组的高效访问和操作使得算法的实现更加简洁和高效。

六、实验案例:数组的查找与统计为了更好地理解数组的应用,我们设计了一个实验案例:数组的查找与统计。

假设有一个整数数组,我们需要找到其中的最大值、最小值、平均值以及某个特定元素的出现次数。

数组实验报告实验小结

数组实验报告实验小结

一、实验背景随着计算机技术的不断发展,数组作为一种基本的数据结构,在编程领域得到了广泛的应用。

为了更好地理解和掌握数组的相关知识,我们进行了一系列的数组实验。

本次实验报告将对实验过程进行总结,并对实验结果进行分析。

二、实验目的1. 理解数组的基本概念和特点;2. 掌握数组的创建、访问和操作方法;3. 熟悉数组在编程中的应用;4. 培养实验操作能力和问题解决能力。

三、实验内容1. 数组的定义与创建2. 数组的初始化3. 数组元素的访问与修改4. 数组的排序与查找5. 数组的应用实例四、实验过程1. 数组的定义与创建实验一:定义一个整型数组,并初始化为10个元素。

代码如下:```c#include <stdio.h>int main() {int arr[10];// 初始化数组for (int i = 0; i < 10; i++) {arr[i] = i 2;}// 打印数组元素for (int i = 0; i < 10; i++) {printf("%d ", arr[i]);}printf("\n");return 0;}```2. 数组的初始化实验二:使用初始化列表直接初始化数组。

代码如下:```c#include <stdio.h>int main() {int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};// 打印数组元素for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) { printf("%d ", arr[i]);}printf("\n");return 0;}```3. 数组元素的访问与修改实验三:访问和修改数组元素。

代码如下:```c#include <stdio.h>int main() {int arr[5] = {1, 2, 3, 4, 5};// 访问数组元素printf("The first element is: %d\n", arr[0]);// 修改数组元素arr[0] = 10;printf("After modification, the first element is: %d\n", arr[0]); return 0;}```4. 数组的排序与查找实验四:使用冒泡排序算法对数组进行排序。

C语言:数组的应用实验报告

C语言:数组的应用实验报告

课程名称:结构化程序设计与C语言开课实验室:年月日一、实验目的用C语言编写和调试数组的程序,包括一维数组和二维数组。

从而对数组的程序设计有比较深入的了解。

二、内容及结果1、程序二选择排序法1)题目:用选择法对10个整数排序。

2)代码:#include<>int main(){int a[10];int i,j,t;printf("input 10 numbers:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("\n");for(j=0;j<9;j++)for(i=0;i<9-j;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;i<10;i++)printf("%d",a[i]);printf("\n");return 0;}3)运行截图:2、程序二将一个数组中的值按逆序重新存放。

1)题目:将一个数组中的值按逆序重新存放。

2)代码:# include <>int main (){int a[5]={8,6,5,4,1};int i,t;for(i=0;i<=2;i++){t=a[i];a[i]=a[4-i];a[4-i]=t;}for(i=0;i<=4;i++)printf("%d ",a[i]);return 0;}3)运行截图:3、程序三输出杨辉三角形(10行)1)题目:输出杨辉三角形(10行)2)代码:#include<>int main(){int yh[10][10]={0};int i,j;for(i=0;i<10;i++)yh[i][0]=1;for(i=1;i<10;i++)for(j=1;j<10;j++)yh[i][j]=yh[i-1][j-1]+yh[i-1][j];for(i=0;i<10;i++){for(j=0;j<i+1;j++)printf("%5d",yh[i][j]);printf("\n");}}3)运行截图:4、程序四找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该行上最小。

JAVA实验报告数组

JAVA实验报告数组

JAVA实验报告数组实验名称:数组的操作和应用实验目的:掌握数组的定义和使用方法,了解数组在实际开发中的应用。

实验过程:1.数组的定义:数组是一种用来存储多个相同类型数据的容器。

在Java中,数组是引用类型。

数组的定义格式为:数据类型[] 数组名 = new 数据类型[数组长度]。

2.数组的初始化:数组初始化可以分为静态初始化和动态初始化两种方式。

静态初始化就是在定义数组时直接给出数据元素的初始值。

例如:int[] a = {1, 2, 3, 4, 5}。

动态初始化是在定义数组时只指定数组的长度,而不指定具体的元素值。

例如: int[] a = new int[5]。

3.数组的操作:数组的操作主要包括数组的读取和修改。

数组的读取使用数组名和索引的方式进行,索引从0开始,例如:int value = array[0]。

数组的修改也是通过索引来实现的,例如:array[0] = 10。

4.数组的遍历:数组的遍历是指依次访问数组中的每个元素,可以使用for循环或者foreach循环来实现。

for循环遍历数组的示例代码如下:```for (int i = 0; i < array.length; i++)System.out.println(array[i]);}```foreach循环遍历数组的示例代码如下:```for (int value : array)System.out.println(value);}```5.数组的应用:数组在实际开发中有广泛的应用场景,包括但不限于以下几个方面。

-存储一组数据:数组可以用来存储一组数据,例如存储学生成绩、商品价格等。

-统计数据:通过数组可以方便的统计一组数据的最大值、最小值、平均值等。

-排序数据:通过数组可以对一组数据进行排序,常见的排序算法有冒泡排序、插入排序、快速排序等。

-数据:通过数组可以快速一些值是否在数组中存在,常见的算法有顺序查找、二分查找等。

C语言实验五实验报告-数组

C语言实验五实验报告-数组

C语言实验五实验报告-数组C 语言实验五实验报告数组一、实验目的本次实验旨在深入理解和掌握 C 语言中数组的概念、声明、初始化以及基本操作。

通过实际编写代码,熟练运用数组解决实际问题,提高编程能力和逻辑思维能力。

二、实验环境操作系统:Windows 10开发工具:Visual Studio 2019三、实验内容1、数组的声明和初始化声明一维数组,如`int arr10;`。

初始化一维数组,包括全部初始化,如`int arr5 ={1, 2, 3, 4, 5};`,以及部分初始化,如`int arr5 ={1, 2};`。

声明二维数组,如`int arr34;`。

初始化二维数组,如`int arr23 ={{1, 2, 3},{4, 5, 6}};`。

2、数组元素的访问和操作使用下标访问数组元素,如`arr0` 。

对数组元素进行赋值和修改操作。

遍历数组,使用循环打印数组元素。

3、数组的应用实现数组元素的排序,如冒泡排序、选择排序等。

查找数组中的特定元素,如顺序查找、二分查找等。

四、实验步骤1、数组的声明和初始化打开 Visual Studio 2019,创建一个新的 C 语言项目。

在源文件中,编写以下代码来声明和初始化一维数组:```cinclude <stdioh>int main(){int arr110;int arr25 ={1, 2, 3, 4, 5};int arr35 ={1, 2};printf("未初始化的数组 arr1 的元素:\n");for (int i = 0; i < 10; i++){printf("%d ", arr1i);}printf("\n");printf("全部初始化的数组 arr2 的元素:\n");for (int i = 0; i < 5; i++){printf("%d ", arr2i);}printf("\n");printf("部分初始化的数组 arr3 的元素:\n");for (int i = 0; i < 5; i++){printf("%d ", arr3i);}printf("\n");return 0;}```编译并运行代码,观察输出结果,理解数组的声明和初始化方式。

C语言数组实验报告

C语言数组实验报告

实验名:数组一、实验目的1、掌握数组定义的规则..2、掌握C语言数组的基本用法..二、实验内容一题目11、编写程序;测试下列数组的定义方式是否正确1 main{int n;scanf“%d”;&n;int an;……}2 main{const int n=10;int an;}3 include <stdio.h>define M 10main{int aM;}4 main{int a2+24;}5 include <stdio.h>define M 2define N 8main{ int aM+N;}通过这一实验;可以说明什么问题2、输入和输出信息描述及数据类型确定;1、输入数据序号输入数据描述数据类型1n;an int2nan cons tint int3aM或a10int 4a2+24int 5aM+N int 3、程序调试错误序号错误信息列出出错语句以及出错提示是否解决解决方法1-1main.c|5|error: 是将%d两边的符号改为西文字符的引expected expressionbefore '%' token|scanf“%d”;&n;号scanf"%d";&n;1-2main.c|6|warning:unused variable 'a'-Wunused-variable|int an;是将前面的n的输入去掉;把n改为具体数字5main.c|6|warning:unused variable 'a'-Wunused-variable|int aM+N;是加上个scanf“%d”;&aM+N;4、相关问题回答通过这一实验;可以说明什么问题1、2345对;1错;1中an的数组定义的里的常量表达式不能是变量..2、一维数组定义的时候里的常量表达式包括常量和符号常量;但不能是变量..二题目21、运行下面的C程序;根据运行结果;可以说明什么main{ int num5={1;2;3;4;5};inti i;fori=0;i<5;i++printf“%d”;numi;}2、输入和输出信息描述及数据类型确定;1、输入数据序号输入数据描述数据类型1num5;i int2输出数据序号输出数据描述数据类型1numi int3、程序源代码填写程序调试正确后的代码include <stdio.h>int main{int num5={1;2;3;4;5}; /定义num5/int i;fori=0;i<5;i++ /下标应该是0到4/ printf"%d";numi; /依次输出num0至num4/return 0;}4、程序调试错误序号错误信息列出出错语句以及出错提示是否解决解决方法1格式不对是2main.c|5|error: 是改为 int i;unknown type name 'inti'| inti i;3 main.c|7|error: expected expression before '%' token| printf“%d”;numi;是 将引号改为西文字符4 fori=0;i<5;i++ 是 去掉等号 5、相关问题回答 运行结果:12345根据运行结果;可以说明什么说明:数组元素的下标从0开始;比定义的时候会小一个.. 三 题目 31、操作符&用以求一个变量的地址;这在函数scanf 中已经使用过了..现在要你设计一个程序;返回一个3 5 的二维数组各元素的地址;并由此说明二维数组中各元素是按什么顺序存诸的..2、输入和输出信息描述及数据类型确定; 1、输入数据序号 输入数据描述 数据类型 1 a35;i.j int 2 adress 整型指针变量 2输出数据序号 输出数据描述 数据类型 1 adress int 3、程序源代码填写程序调试正确后的代码 include <stdio.h> int main {int a35;int adress; //定义并初始化adress int i;j;fori=0;i<3;i++ //每行循环 {printf"\n";forj=0;j<5;j++ //每列循环 {adress=&aij; //将adress 赋值为整型指针变量 printf"%d ";adress; } }return 0; }4、测试与结果分析 1、测试数据与结果 源文件名 可执行文件名 测试序号 测试用例选取原因 测试输入数据 测试输出结果 是否正确结果分析 1 无 无是 无误四 题目 4为一个起泡排序程序设计测试用例;并测试之.. 1、程序源代码填写程序调试正确后的代码 include <stdio.h> int main {int a10; //定义一维数组a10 int i;j;k;printf"请输入10个数字:\n"; fori=0;i<=9;i++scanf"%d";&ai; //依次输入数组的数字 printf"\n"; //换行forj=0;j<9;j++ //进行9次循环;实现9趟比较 fori=0;i<9-j;i++ //在每一趟中进行9-j 次比较 ifai>ai+1 //相邻两数比较 {k=ai; ai=ai+1;ai+1=k; //若后一个比前一个大;则交换位置}printf"排序后的数字为:\n"; fori=0;i<=9;i++printf"%d ";ai; //依次输出排序后的数字 printf"\n"; return 0; }2、输入和输出信息描述及数据类型确定; 1、输入数据序号 输入数据描述 数据类型 1 a10;i;j;k int 2输出数据序号 输出数据描述 数据类型 1 ai int 3、程序调试错误序号 错误信息列出出错语句以及出错提示 是否解决 解决方法 1 输出结果间无空格 是 在最后一个printf “%d ”的d 后面加空格4、测试与结果分析 1、测试数据与结果 源文件名 可执行文件名 测试序号 测试用例选取原因 测试输入数据 测试输出结果 是否正确结果分析1 测试用例 1 12 13 14 15 1 12 13 14 15 67 78 80是 无误8956 6778 8980五题目51、1983年;在ACM图林奖颁奖大会上;杰出的计算机科学家;UNIX 的鼻祖;C 语言的创始人之一;图林大奖得主;Ken Thompson 上台的第一句话是:“我是一个程序员;在我的1040表上;我自豪地写上了我的职业..作为一个程序员;我的工作就是写程序;今天我将向大家提供一个我曾经写过的最精练的程序..”这个程序如下:char s ={‘\t’;‘0’;‘\n’;‘}’;‘;’;‘\n’;‘\n’;‘/’;‘’;‘\n’;/ 213 lines deleted/};/The string is arepresentation of the bodyof this program from ‘0’to the end/main{ int i;printf“char \ts={\” };for i=0;si;i++printf“\t%d;\n”;si;printf“%s”;s;}请上机运行这个程序;指出它的功能和运行结果..2、程序源代码填写程序调试正确后的代码include<stdio.h>char s ={'\t';'0';'\n';'}';';';'\n';'\n';'/';'';'\n';/ 213 lines deleted/ 0 }; /The string is arepresentation of the body of this program from '0' to the end /int main {int i;printf"char \ts={\n" ; for i=0;si;i++printf"\t%d;\n";si; printf"%s";s; return 0; }3、程序调试错误序号 错误信息列出出错语句以及出错提示 是否解决 解决方法 1 所有的引号和逗号格式不对是 都改为西文字符2 main.c|22|error: expected '='; ';'; ';'; 'asm' or '__attribute__' before '{' token|是 在main 前加int3 main.c|23|warning: missing terminating " character enabled by default|printf"char \ts={\" };是 改为printf"char \ts={\n" ; 4 格式不完整 是 加上include;return 0; 4、相关问题回答请上机运行这个程序;指出它的功能和运行结果.. 答:功能输出字符串的数值.. 5、测试与结果分析 1、测试数据与结果 源文件名 可执行文件名 测试序号 测试用例选取原因 测试输入数据 测试输出结果 是否正确结果分析 1 测试用例是 无误六 题目 6 1、题目内容描述在下面的 5×5 魔方矩阵中;每一行、每一列、每一对角线上的元素之和都是相等的;试编写程序将这些魔方矩阵中的元素读到一个二维整型数组中; 然后; 检验其是否为魔方矩阵;并将其按如下格式显示到屏幕上..17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 92、程序源代码填写程序调试正确后的代码include<stdio.h>main{int i;j;sum1;sum2;int find1=0;find2=0;m=0; //定义变量int a55;fori=0;i<5;i++forj=0;j<5;j++scanf"%d";&aij; //输入55个数字fori=0;i<5;i++{forj=0;j<5;j++{printf"%d";aij; //输出矩阵}printf"\n";forsum1=0;i=0;i<=4;i++ //计算对角线元素和sum1+=aii;forsum2=0;i=0;j=4;i<=4;i++;j--sum2+=+aij; //计算对角线元素和fori=0;i<=4;i++{forj=0;j<=4;j++printf"%d\t";aij; //打印魔方矩阵printf"\n";}ifsum1=sum2{printf"此矩阵不为魔方矩阵\n"; //判断对角线和是否相等m=1;}fori=0;i<=4;i++forj=0;j<=4;j++{ai5+=aij;a5j+=aij; //判断各行列和是否相等}ifm==0{fori=0;i<=4;i++{ ifai5=a5i || ai5=sum1 {printf"此矩阵不为魔方矩阵\n"; break; }} ifi==5printf"此矩阵为魔方矩阵\n"; }}3、测试与结果分析 1、测试数据与结果 源文件名 可执行文件名 测试序号测试用例选取原因 测试输入数据 测试输出结果是否正确 结果分析1 题目是无误七 题目 7 1、题目内容描述餐饮服务质量调查打分在商业和科学研究中;人们经常需要对数据进行分析并将结果以直方图的形式显示出来..例如;一个公司的主管可能需要了解一年来公司的营业状况;比较一下各月份的销售收入状况; 如果仅给出一大堆数据; 这显然太不直观了; 如果能将这些数据以条形图 直方图的形式表示;那么将会大大增加这些数据的直观性;也便于数据的分析与对比..下面以顾客对餐饮服务打分为例; 练习一下这方面的程序.. 假设现在有40个学生被邀请来给自助餐厅的食品和服务质量打分;分数为从1~10的10个等级1意味着最低分;10表示最高分;试统计调查结果;并用‘’打印出如下形式的统计结果直方图..Grade Count Histogram1 52 103 7...2、输入和输出信息描述及数据类型确定;1、输入数据序输入数据描述数据类型号1score40;i;j;grade;count11int2输出数据序输出数据描述数据类型号1grade;countgrade char3、程序源代码填写程序调试正确后的代码include <stdio.h>int main{int score40;i;j;grade;int count11={0}; //定义并初始化数组count11fori=0;i<40;i++{printf"please input score%d:";i+1;scanf"%d";&scorei; //输入每个分数switchscorei //统计每个分数的个数{case 1:count1++; break; //评分为1时;数组中count1加一case 2:count2++; break; //评分为2时;数组中count2加二case 3:count3++; break; case 4:count4++; break; case 5:count5++; break; case 6:count6++; break; case 7:count7++; break; case 8:count8++; break; case 9:count9++; break; case 10:count10++; break;default:printf"Input error\n"; //其余情况 } }printf"Grade\tCount\tHistogram\n"; //输出表头forgrade=1;grade<=10;grade++ //统计每个分数的个数 {printf"%d\t%d\t";grade;countgrade; //输出分数和每个分数的个数forj=0;j<countgrade;j++printf"%c";''; //根据评分的个数输出数printf"\n"; }return 0; }4、测试与结果分析 1、测试数据与结果 测试序号 测试用例选取原因 测试输入数据 测试输出结果 是否正确 结果分析 1 测试用例 8个2;9个3;5个4;13个6;3个7;23;76如下图 是 无误2 测试用例 2个1;4个2;3个3;1个4;5个5;6个6;5个7;2个8;6个9;3个10;78;0;22如下图 是 无误八 题目 8 1、题目内容描述由计算机随机生成一个各位相异的4位数字;由人来猜;每次提示:xAxB A 前面的数字表示有几个数字猜对位置也对了 B 前面的数字表示有几个数字猜对但位置不对提示:用数组a存计算机随机生成的4位数;用数组b存人猜的4位数;对a和b的相同位置的元素进行比较;得到A前面的数字;对a和b的不同位置的元素进行比较;得到B前面的数字..2、输入和输出信息描述及数据类型确定;1、输入数据序输入数据描述数据类型号1a4;b4;m;n;i;j;int2输出数据序输出数据描述数据类型号1M;n int3、程序源代码填写程序调试正确后的代码include<stdio.h>include<stdlib.h>include<time.h>int main{int i;j;m;n;int a4;b4;m=0;n=0;srandtimeNULL; //产生随机数ifa0=a1&&a0=a2&&a0=a3&&a1=a2&&a1=a3&&a2=a3{fori=0;i<4;i++{ai=rand%10;printf"%d ";ai; //输出不同的四个个位数 }printf"\n";whilem=4 //当m不等于4的时候循环{printf"请输入你猜想的数字:\n";forj=0;j<4;j++scanf"%d";&bj;printf"\n";fori=0;i<4;i++{ifai==bi{m++; //位置和数字都对}}fori=0;i<4;i++{forj=0;j<4;j++ {ifai==bj&&i=j //位置不对但数字对 {n++; } } }printf"%d A %d B\n";m;n; }printf"你答对了\n"; //m=4时输出}return 0; }3、测试与结果分析 1、测试数据与结果 源文件名 可执行文件名 测试序号 测试用例选取原因 测试输入数据 测试输出结果 是否正确结果分析 1 测试用例是 无误。

java实验报告--数组

java实验报告--数组

java实验报告--数组实验名称:Java实验报告--数组实验目的:通过本次实验,掌握Java中数组的基本概念、声明和初始化方法,以及数组的基本操作和常见问题解决方法。

实验过程:1. 数组的声明和初始化在Java中,数组是一种特殊的数据类型,用于存储同一类型的多个数据。

数组的声明和初始化可以通过以下方式进行:```javaint[] arr1 = new int[5]; // 声明一个长度为5的整型数组int[] arr2 = {1, 2, 3, 4, 5}; // 声明并初始化一个整型数组String[] arr3 = new String[]{"Java", "C", "Python"}; // 声明并初始化一个字符串数组```2. 数组的基本操作数组的基本操作包括访问元素、修改元素、获取数组长度等。

例如:```javaint[] arr = {1, 2, 3, 4, 5};System.out.println(arr[0]); // 访问数组的第一个元素arr[1] = 10; // 修改数组的第二个元素System.out.println(arr.length); // 获取数组的长度```3. 数组的常见问题解决方法在使用数组时,常见的问题包括数组越界、空指针异常等。

针对这些问题,可以采取以下解决方法:- 使用循环结构遍历数组时,注意控制循环变量的范围,避免数组越界;- 在访问数组元素之前,先判断数组是否为空,避免空指针异常的发生。

实验结果:通过本次实验,我掌握了Java中数组的基本概念、声明和初始化方法,以及数组的基本操作和常见问题解决方法。

在实际编程中,我能够更加灵活地运用数组,提高代码的效率和可靠性。

结论:数组是Java中非常重要的数据结构,掌握数组的基本概念和操作方法对于编写高效、健壮的程序至关重要。

通过本次实验,我对数组有了更深入的了解,为以后的Java编程打下了坚实的基础。

数组实验报告实验分析

数组实验报告实验分析

一、实验目的1. 理解数组的概念和基本操作。

2. 掌握数组的创建、初始化、访问和修改方法。

3. 学习数组的排序、查找和统计等常用算法。

4. 分析数组在实际应用中的优缺点。

二、实验内容1. 数组的创建与初始化2. 数组元素的访问与修改3. 数组的排序4. 数组的查找5. 数组的统计6. 数组在实际应用中的优缺点分析三、实验过程1. 数组的创建与初始化在实验中,我们首先学习了如何创建一个数组。

在C语言中,可以使用以下语句创建一个整型数组:int arr[10];这里创建了一个包含10个整数的数组,名称为arr。

接下来,我们学习了如何初始化数组。

初始化可以通过以下语句实现:int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};这里初始化了一个包含10个整数的数组,并将前10个整数依次赋值给数组元素。

2. 数组元素的访问与修改访问数组元素可以通过以下语句实现:int value = arr[3]; // 获取数组第4个元素的值修改数组元素可以通过以下语句实现:arr[5] = 20; // 将数组第6个元素的值修改为203. 数组的排序在实验中,我们学习了冒泡排序算法。

冒泡排序是一种简单的排序算法,其基本思想是通过比较相邻的元素,将较大的元素交换到数组的后面。

以下是冒泡排序算法的C语言实现:void bubbleSort(int arr[], int n) {int i, j, temp;for (i = 0; i < n - 1; i++) {for (j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}4. 数组的查找在实验中,我们学习了二分查找算法。

二分查找算法是一种高效的查找算法,其基本思想是将查找区间分为两半,每次查找时缩小查找范围。

实验3 数组编程

实验3 数组编程

实验三数组编程(设计性实验)一、实验目的1.进一步理解和掌握Java语言中数组的概念;2.掌握数组在方法中的使用,包括把数组传递给方法和从方法中返回数组,并能使用数组进行程序设计。

二、实验教学要求1.性质:必做实验实验类型:设计性2.时间要求:在讲完“数组”之后安排,需要6学时。

2.对学生的要求:编写好程序。

3.对教师的要求:预做本实验。

4.对实验室的要求:在windows环境中装有Java开发工具(如J2SE5.0版),以及IE6.0以上版本。

二、实验原理创建Java数组需要下面三个步骤:①声明数组声明数组的语法格式有如下两种:数组元素类型数组名[ ];数组元素类型[ ] 数组名;如int a[ ];int[ ] a;②创建数组空间声明数组仅仅指定了数组的名字和数组元素的类型,要想真正使用数组还需要为它分配内存空间,即创建数组空间。

在创建数组空间时,必须指明数组的长度,以确定空间的精确大小。

语法格式为:数组名=new 数组元素类型[数组元素的个数];如:int a[ ];a=new int[10];以上两步可组合在一起,用一条语句完成:int a[ ]=new int[10];用new运算符为数组分配内存空间的同时,数组的每个元素都会被自动赋予一个默认值。

整型为0,浮点型为0.0,字符型为'\0',布尔型为false,引用型为null。

③初始化数组元素如果是基本数据类型,那么这个步骤可以自行省略。

也可以在创建数组空间的时候,同时将初始值给出。

如:int a[ ]={1,2,3,4}; //int[] a=new int[]{1,2,3,4}在Java语言中,一个数组就是一个对象。

每个数组都有一个属性length,用来指明数组的长度。

数组元素的类型可以是基本数据类型,也可以是类类型,因此可以使用数组来包含一系列的对象。

student ——类名student s[ ]=new student[50];创建元素需使用如下形式的代码段:for(int i=0;i<s.length;++i){s[i]=new student( );}三、实验实例1.数据排序。

数组应用实验报告

数组应用实验报告

数组应用实验报告
《数组应用实验报告》
在计算机科学领域,数组是一种非常重要的数据结构,它可以存储多个相同类型的数据,方便进行管理和操作。

在本次实验中,我们将探讨数组的应用,并通过实验报告来展示其在不同场景下的使用情况。

实验一:数组的创建和初始化
在本实验中,我们首先学习了如何创建和初始化数组。

通过编写简单的代码,我们成功创建了一个包含整数类型的数组,并对其进行了初始化。

我们发现,数组的索引是从0开始的,这意味着我们可以通过索引来访问数组中的元素。

实验二:数组的遍历和操作
接下来,我们学习了如何遍历数组并对其进行操作。

我们使用循环结构来遍历数组中的每个元素,并进行相应的操作。

我们发现,使用数组可以方便地对一组数据进行统一的处理,比如求和、平均值等操作。

实验三:多维数组的应用
在这个实验中,我们学习了多维数组的应用。

通过创建二维数组,我们可以模拟二维空间中的数据结构,比如矩阵、图像等。

我们发现,多维数组可以方便地表示复杂的数据结构,并且可以通过多重循环来对其进行遍历和操作。

实验四:数组的应用案例
最后,我们通过实际案例来展示数组的应用。

我们使用数组来实现一个简单的学生成绩管理系统,通过输入学生的成绩,然后计算平均分、最高分、最低分等统计数据。

我们发现,数组的使用大大简化了数据的管理和操作,提高了程序的效率和可维护性。

综上所述,本次实验通过实验报告展示了数组在不同场景下的应用情况。

通过学习和实践,我们深刻理解了数组的重要性和灵活性,相信在今后的编程工作中,我们将能够更加熟练地运用数组来解决实际问题。

数组运用实验报告

数组运用实验报告

一、实验目的1. 理解数组的概念和特点。

2. 掌握数组的创建、初始化、访问和修改方法。

3. 熟悉数组的常用操作,如排序、查找、插入和删除等。

4. 培养编程思维和问题解决能力。

二、实验环境1. 操作系统:Windows 102. 编程语言:C++3. 开发工具:Visual Studio 2019三、实验内容1. 数组的创建与初始化2. 数组的访问与修改3. 数组的排序4. 数组的查找5. 数组的插入与删除四、实验步骤1. 数组的创建与初始化(1)创建一个整型数组,名为array,大小为10。

(2)使用循环初始化数组,将数组元素值设置为1到10。

2. 数组的访问与修改(1)使用循环遍历数组,打印出数组中的每个元素。

(2)修改数组中第5个元素的值为20。

3. 数组的排序(1)使用冒泡排序算法对数组进行排序。

(2)打印排序后的数组。

4. 数组的查找(1)使用顺序查找算法查找数组中是否存在值为15的元素。

(2)如果找到,打印该元素的位置;如果没有找到,打印“未找到”。

5. 数组的插入与删除(1)在数组中第3个位置插入一个新元素,值为30。

(2)删除数组中第6个位置的元素。

五、实验结果与分析1. 数组的创建与初始化代码如下:```cpp#include <iostream>using namespace std;int main() {int array[10];for (int i = 0; i < 10; i++) {array[i] = i + 1;}return 0;}```2. 数组的访问与修改代码如下:```cpp#include <iostream>using namespace std;int main() {int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; for (int i = 0; i < 10; i++) {cout << array[i] << " ";}cout << endl;array[4] = 20;return 0;}```3. 数组的排序代码如下:```cpp#include <iostream>using namespace std;void bubbleSort(int array[], int length) {for (int i = 0; i < length - 1; i++) {for (int j = 0; j < length - 1 - i; j++) { if (array[j] > array[j + 1]) {int temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;}}}}int main() {int array[10] = {5, 3, 8, 6, 2, 7, 4, 1, 9, 10}; bubbleSort(array, 10);for (int i = 0; i < 10; i++) {cout << array[i] << " ";}cout << endl;return 0;}```4. 数组的查找代码如下:```cpp#include <iostream>using namespace std;int main() {int value = 15;int found = 0;for (int i = 0; i < 10; i++) {if (array[i] == value) {found = 1;break;}}if (found) {cout << "找到元素,位置为:" << i << endl; } else {cout << "未找到" << endl;}return 0;}```5. 数组的插入与删除代码如下:```cpp#include <iostream>using namespace std;int main() {int insertValue = 30;int insertIndex = 3;int deleteIndex = 6;for (int i = 10; i > insertIndex; i--) {array[i] = array[i - 1];}array[insertIndex] = insertValue;for (int i = deleteIndex; i < 9; i++) {array[i] = array[i + 1];}for (int i = 0; i < 10; i++) {cout << array[i] << " ";}cout << endl;return 0;}```六、实验总结本次实验通过C++编程,学习了数组的基本操作,包括创建、初始化、访问、修改、排序、查找、插入和删除等。

数组实验报告

数组实验报告

数组实验报告姓名:学号:班级:计科1501班任课教师:一、实验目的掌握数组的排序、复制等操作二、实验要求实现编程代码,得出最后实验效果图三、实验内容1.编程实现:从键盘接收人任意个整数,并将其存放在数组中,然后求出该数组中的最大值(考察知识点:数组的length属性,求最大值的方法:打擂台).实验效果图如下:2。

编程实现:有一整型数组a,其中数据为3、4、5、1、2、6,编程实现将数组a复制到数组b中(考察知识点:数组的复制)3.编程实现:有一字符串数组,其中的数据有”张三”,”李四",”王五”,”赵六” ,"田七”,"李八" 。

编程查找该数组中是否包含”麻子"。

(考察知识点:数组的查找)实验效果图如下:4。

编程实现:有一整型数组,其中的数据有1、22、33、44、55、66、77.现将34插入到该数组中,并不打乱原来的升序(考察知识点:数组的插入。

提示:先将34替换到77)实验效果图如下:5。

编程实现:有一整型数组,其中数据为34,23,12,56,77,89。

编程实现对数组元素进行升序排序,并输出排序后的结果。

(考察知识点:数组的定义、排序,请使用冒泡排序、选择排序、Array。

sort()三种方法进行排序)6。

编程实现:有一3行3列的2维数组,其中数据为1、2、3、4、5、6、7、8、9。

编程实现其数据的输出(考察知识点:二维数组的赋值、输出)7。

编程实现:综合实例:学生成绩管理系统。

实验效果图如下:四、实验代码(含注释)1、import java.util。

Scanner;public class L1 {public static void main(String[] args){Scanner in=new Scanner(System。

in);System.out.print(”请输出数组的长度:");int num=in。

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

计算机科学与技术学院
程序设计报告
程序名称:数组程序设计
专业:计算机科学与技术
班级:计算机1103班
学号:
姓名:
指导老师:
设计日期:2011年11月26日
数组程序设计
题目:
编写一个程序,其功能如下:输入n(n<50)个学生的姓名和C语言课程的成绩,将成绩按从高到低的次序排序,姓名同时作相应的调整,输出排序后的学生姓名和C语言课程的成绩。

然后输入一个C 语言课程成绩值,用二分法查找进行搜索。

如果查找到该成绩,输出该成绩同学的姓名和C语言课程的成绩;否则输出提示“not found !”.
程序源代码:
#include<stdio.h>
#include<string.h>
#define n 3
void main()
{
int i,j,k,t,x,a[n];
int top=0,bottum=n-1,mid;
char b[n][10],str[10],c[20];
for(i=0;i<n;i++)
{
printf("input the name of the %dth student:",i+1);
gets(b[i]);
printf("input the score of the C language:");
scanf("%d",&a[i]);
printf("\n");
gets(c);
}
for(i=0;i<n-1;i++)
{
k=i;
for(j=1;j<n;j++)
if(a[k]<a[j])
k=j;
if(k!=i)
{
t=a[i];
a[i]=a[k];
a[k]=t;
strcpy(str,b[i]);
strcpy(b[i],b[k]);
strcpy(b[k],str);
}
}
for(i=0;i<n;i++)
{
puts(b[i]);
printf("%d\n",a[i]);
}
printf("input a:");
scanf("%d",&x);
int flag=1;
while(top<=bottum)
{
mid=(top+bottum)/2;
if(x>a[mid])
bottum=mid-1;
else if(x<a[mid])
top=mid+1;
else
{
flag=0;
puts(b[mid]);
printf("%d\n",a[mid]);
break;
}
}
if(flag==1)
printf("not found!"); }
截屏运行结果:。

相关文档
最新文档