实验七 数组及其应用(二)

合集下载

数组及应用实验报告

数组及应用实验报告

一、实验目的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语言实验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编译系统自动根据初值个数来决定数组长度。

数组的应用实验原理

数组的应用实验原理

数组的应用实验原理1. 实验目的本实验旨在掌握数组的概念、特性和应用,并通过实际案例加深对数组的理解。

2. 实验原理数组是一种用来存储相同类型的数据元素的数据结构。

它可以在内存中连续的存储多个元素,并通过索引值来访问和操作这些元素。

在实际应用中,数组常被用来存储一组相同类型的数据,例如整数、浮点数、字符等。

3. 实验步骤1.声明数组:首先需要声明一个数组,并指定数组的类型和名称。

例如,int[] numbers;表示声明一个整数类型的数组变量名为numbers。

2.创建数组:使用new关键字来创建数组。

例如,numbers = newint[5];表示创建了一个包含5个整数的数组。

3.初始化数组:可以在数组创建后对其中的元素进行初始化,也可以在声明数组时直接进行初始化。

例如,int[] numbers = {1, 2, 3, 4, 5};表示创建并初始化一个包含5个整数的数组。

4.访问数组元素:使用索引值来访问数组中的元素。

索引值从0开始,到数组长度减一。

例如,int x = numbers[2];表示将数组numbers中索引为2的元素赋值给变量x。

5.修改数组元素:通过索引值可以修改数组中的元素。

例如,numbers[0] = 10;表示将数组numbers中索引为0的元素修改为10。

6.遍历数组:使用循环结构可以遍历数组中的所有元素。

通过循环动态改变索引值,从而逐个访问数组中的元素。

例如,使用for循环来遍历数组:for (int i = 0; i < numbers.length; i++) {System.out.println(numbers[i]);}4. 实验案例下面通过一个简单的案例来说明数组的应用原理。

4.1 案例描述某班级有10名学生,需要统计每个学生的成绩,并计算平均分。

4.2 案例解决思路1.声明一个整数类型的数组scores用于存储学生成绩。

2.创建长度为10的数组:scores = new int[10];3.使用循环结构输入每个学生的成绩,并将其存储到数组中。

数组的应用的实验原理

数组的应用的实验原理

数组的应用的实验原理实验背景在计算机科学中,数组是一种数据结构,它是一个由相同类型的元素组成的集合。

数组是数据存储的基本工具之一,在许多编程语言和算法中都得到广泛应用。

数组提供了一种有序存储数据的方式,可以通过索引访问和修改元素,是一种高效的数据结构。

实验目的通过本次实验,我们的目标是深入了解数组的原理和应用,了解如何创建、访问和修改数组中的元素,以及数组在计算机科学中的重要性。

实验步骤1.创建数组:我们首先需要创建一个数组,即在内存中分配一块连续的存储空间来存储元素。

可以通过以下方式来创建一个数组:–声明一个静态数组:int[] array = {1, 2, 3, 4, 5};–声明一个动态数组:int[] array = new int[5];2.访问数组元素:通过数组的索引可以访问数组中的元素。

数组的索引从0开始,最后一个元素的索引为数组长度减1。

可以使用以下语法来访问数组元素:int element = array[index];3.修改数组元素:可以通过索引来修改数组中的元素。

可以使用以下语法来修改数组元素:array[index] = value;4.数组的长度:我们可以使用length属性来获取数组的长度,即数组中元素的个数。

语法为:int length = array.length;5.数组的遍历:遍历数组可以访问数组中的每个元素。

可以使用循环结构(如for循环)来遍历数组并访问每个元素。

例如:for (int i =0; i < array.length; i++) {System.out.println(array[i]);}6.数组的常见问题:在使用数组时,我们需要考虑一些常见的问题,例如数组越界、数组为空等。

避免这些问题的方法包括输入检查、循环控制等。

实验结果与分析通过实验,我们可以得出以下结论:1.数组提供了一种有序存储数据的方式,可以高效地访问和修改数组中的元素。

c语言程序设计案例教程 实验项目-设计性题目参考答案

c语言程序设计案例教程 实验项目-设计性题目参考答案

C语言程序设计案例教程(含实验)设计性实验的程序参考答案实验项目一 C程序的编辑、编译、连接和运行题目:编写程序,要求屏幕上显示如下信息:************************ This is a C program .************************程序:#include <stdio.h>void main(){printf(“***********************”);printf(“* This is a C program .*”);printf(“***********************”);}实验项目二数据类型、运算符、表达式题目(1)程序填空:输入1 个实数x,计算并输出其平方根(保留1 位小数)。

填空1.double x,root;2.root=sqrt(x);(2)输入一个大写英文字母,输出相应的小写字母。

填空1.ch=ch+32;实验项目三顺序结构程序设计题目(1)编写程序,输入三角形的三边长a、b、c,求三角形面积area。

程序代码:#include <stdio.h>#include <mach.h>main(){float a,b,c,s,arer;printf(" 请输入三角形的三个边a,b,c:\n");scanf("%f,%f,%f",&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("三角形的边为a=%7.2f, b=57.2f, c=%7.2f\n",a,b,c);printf("三角形的面积area=%7.2\n ",area);(2)设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

【优质文档】数组的应用实验报告-范文word版 (14页)

【优质文档】数组的应用实验报告-范文word版 (14页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==数组的应用实验报告篇一:数组的应用实验报告数组的应用电力实10 郝毅(201X01000707)上机时间:周二上午一实验目的1 掌握数值型一维数组及二维数组的定义,初始化,以及输入输出的方法。

2 掌握用一维数组及二维数组实现的算法。

3 掌握字符型数组的定义,初始化,以及输入输出的方法。

4 掌握用字符型数组解决字符串问题的方法。

5 掌握常用字符串处理函数。

6 掌握用数组作为函数形参的相关语法规则和编程技巧。

7 掌握在VisualC++集成环境中调试与数组相关程序的方法。

二程序分析1Step1:定义数值型一维数组,及变量n,max,min,I,c;Step2:输入n的值,利用for语句,从键盘输入n个数据,存放在数组中。

Step3;利用for语句遍历n个数组元素,利用max存放最大值,利用min存放最小值;Step4:利用变量c将最大值与a[n-1]交换位置,并将min与a[0]交换位置;Step5;;利用for语句输出数组的前n个元素。

2题Step1:定义数值型一维数组,整型变量s;Step2:利用while语句输入一组数并存放在数组中,同时对该组数求和。

Step3:求出数组预案数的平均值,利用for语句遍历数组元素,并利用计数器计数其中大于等于平均值的实数个数。

Step4:输出计数器的值;3题Step1:定义数值型一维数组,及变量i;Step2:利用for语句遍历从1到100,将所有能被7或11整除的整数存放在数组中。

Step3:利用for语句输出数组元素十个数一行。

4题Step1:定义数值型一维数组,数组长度为50;变量s,i,c=51; Step2:利用while语句将一组互不相同且非0的整数存放在数组中, Step3:输入s的值。

Step4:利用for语句遍历数组元素,找出与s相同的元素,并记录其位置c=I,若不存在,则c=51;Step5:判断c的值,若小于51,则输出i的值,否则输出该数不存在;5题Step1,定义两个一维数组a[8],b[8],并初始化a[20]为{1,2,5, 1,1,3,7,0},及变量c,i,j;Step2:输入变量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 实验结论通过本次实验熟练的掌握一维数组、二维数组的定义、初始化和输入/输出方法以及字符数组和字符串函数的使用;还有就是掌握与数组有关的常用算法。

实验七 二维数组实验报告

实验七 二维数组实验报告

***软件类实验报告课程名称:C语言程序设计学号:姓名:班级:指导教师:开课学期:学院:***教务处⑶二维数组处理矩阵问题。

四、实验过程及内容:(运行结果请抓图到对应题目的下方)1.输入下面的程序,说明程序的功能并分析运行结果。

2.程序填空题。

加法口诀表。

输入1个正整数n(1≤n≤10),输出一张10以内的加法口诀表。

加数与被加数都不大于n(将加数、被加数、和放入一个二维数组中,再输出该数组),程序运行结果如图7-1所示。

填空完成程序。

实验结果:3. 程序填空题。

下列程序定义了M×N的二维数组,并在主函数中对其赋值。

函数fun()的功能是计算数组周边元素的平均值并作为函数值返回给主函数。

实验结果:4. 编程insert函数,insert函数的功能是:实现在字符串s的指定的下标位置插入另一个字符串t。

例如:字符串s为“I am a boy.”,t为“good ”,调用insert(s,7,t);则s结果为“I am a good boy.”。

主函数框架如下:#include "stdio.h"#include "string.h"void main(){char s[100]="I am a boy.",t[50]="good ";void insert(char s[],int n,char t[]);insert(s,7,t);puts(s);}请完成insert函数的定义。

实验结果:5. 程序改错题。

打印九九乘法表。

6.编写程序实现,求3*3矩阵两条对角线元素之和五、实验小结。

2019-数组的应用实验报告word版本 (14页)

2019-数组的应用实验报告word版本 (14页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==数组的应用实验报告篇一:数组的应用实验报告数组的应用电力实10 郝毅(201X01000707)上机时间:周二上午一实验目的1 掌握数值型一维数组及二维数组的定义,初始化,以及输入输出的方法。

2 掌握用一维数组及二维数组实现的算法。

3 掌握字符型数组的定义,初始化,以及输入输出的方法。

4 掌握用字符型数组解决字符串问题的方法。

5 掌握常用字符串处理函数。

6 掌握用数组作为函数形参的相关语法规则和编程技巧。

7 掌握在VisualC++集成环境中调试与数组相关程序的方法。

二程序分析1Step1:定义数值型一维数组,及变量n,max,min,I,c;Step2:输入n的值,利用for语句,从键盘输入n个数据,存放在数组中。

Step3;利用for语句遍历n个数组元素,利用max存放最大值,利用min存放最小值;Step4:利用变量c将最大值与a[n-1]交换位置,并将min与a[0]交换位置;Step5;;利用for语句输出数组的前n个元素。

2题Step1:定义数值型一维数组,整型变量s;Step2:利用while语句输入一组数并存放在数组中,同时对该组数求和。

Step3:求出数组预案数的平均值,利用for语句遍历数组元素,并利用计数器计数其中大于等于平均值的实数个数。

Step4:输出计数器的值;3题Step1:定义数值型一维数组,及变量i;Step2:利用for语句遍历从1到100,将所有能被7或11整除的整数存放在数组中。

Step3:利用for语句输出数组元素十个数一行。

4题Step1:定义数值型一维数组,数组长度为50;变量s,i,c=51; Step2:利用while语句将一组互不相同且非0的整数存放在数组中, Step3:输入s的值。

Step4:利用for语句遍历数组元素,找出与s相同的元素,并记录其位置c=I,若不存在,则c=51;Step5:判断c的值,若小于51,则输出i的值,否则输出该数不存在;5题Step1,定义两个一维数组a[8],b[8],并初始化a[20]为{1,2,5, 1,1,3,7,0},及变量c,i,j;Step2:输入变量c的值。

实验七二维数组程序设计

实验七二维数组程序设计

实验七二维数组程序设计实验七二维数组程序设计一、实验学时 2学时二、实验目的(一)掌握二维数组的定义、赋值及输入输出的方法;(二)掌握与二维数组有关的算法如查找、矩阵转置等;(三)掌握在程序设计中使用数组的方法。

数组是非常重要的数据类型,循环中使用数组能更好地发挥循环的作用,有些问题不使用数组难以实现。

(四)掌握在VC++环境下上机调试二维数组程序的方法,并对结果进行分析。

三、预习要求熟悉二维数组的定义、引用和相关算法(求最大值、最小值)的程序设计,同时要掌握在程序设计中利用双重循环来实现二维数组的输入和输出。

四、实验内容(一)二维数组的初始化,即给二维数组的各个元素赋初值。

下面的几个程序都能为数组元素赋值,请输入程序并运行,比较这些赋值方法有何异同。

1.在定义数组的同时对数组元素分行初始化。

/* c7-1.c *//*二维数组的初始化(分行)*/#include "stdio.h"void main( ){ int i,j,a[2][3]={{1,2,3},{4,5,6}};for(i=0; i<2; i++){ for(j=0; j<3; j++)printf("%d ",a[i][j]);printf("\n");}}2.不分行的初始化。

把{ }中的数据依次赋值给数组的各个元素。

/* c7-2.c *//*二维数组的初始化(不分行)*/#include "stdio.h"void main( ){ int i,j,a[2][3]={1,2,3,4,5,6};for(i=0;i<2;i++){ for(j=0;j<3;j++)printf("%d ",a[i][j]);printf("\n");}}3.为部分数组元素初始化。

如:数组定义语句为:int i,j,a[2][3]={{1,2},{4}};4.可以省略第一维的定义,但不能省略第二维的定义。

数组应用实验报告

数组应用实验报告

数组应用实验报告数组应用实验报告引言:数组是一种常见且重要的数据结构,在计算机科学和编程中广泛应用。

本实验旨在通过实际案例,探索数组在不同领域的应用,并展示其在问题解决中的价值和效果。

一、数组在图像处理中的应用:图像处理是一门涉及数字图像的科学与技术,而数组在图像处理中扮演着重要的角色。

通过将图像像素值存储在数组中,我们可以对图像进行各种操作,如调整亮度、对比度,应用滤镜等。

通过实验,我们使用数组来实现图像的二值化处理,将彩色图像转换为黑白图像。

通过遍历图像的每个像素,将其转换为相应的二值像素,我们成功地实现了图像的二值化。

二、数组在数据分析中的应用:数据分析是一种通过收集、处理和解释数据来提取有用信息的过程。

在数据分析中,数组被广泛用于存储和处理大量数据。

通过实验,我们使用数组来计算一组数据的平均值、方差和标准差。

通过将数据存储在数组中,我们可以轻松地对其进行遍历和计算,从而得到准确的统计结果。

三、数组在游戏开发中的应用:游戏开发是一门创造虚拟世界的艺术和科学。

在游戏中,数组被用于存储和管理游戏中的各种对象,如玩家、敌人、道具等。

通过实验,我们使用数组来实现一个简单的游戏场景。

通过将游戏对象存储在数组中,并使用循环遍历数组,我们能够轻松地管理和更新游戏中的各个对象,实现游戏的正常运行。

四、数组在密码学中的应用:密码学是一门研究通信安全和数据保护的学科。

在密码学中,数组被广泛用于存储和处理加密和解密过程中的数据。

通过实验,我们使用数组来实现一个简单的凯撒密码加密算法。

通过将明文和密钥存储在数组中,并使用数组索引进行字符的替换,我们成功地实现了凯撒密码的加密和解密过程。

结论:通过本次实验,我们深入了解了数组在不同领域的应用。

无论是图像处理、数据分析、游戏开发还是密码学,数组都发挥着重要的作用。

数组作为一种高效、灵活的数据结构,为我们解决各种问题提供了强大的工具。

通过学习和应用数组,我们能够更好地理解和掌握计算机科学和编程的核心概念,为解决实际问题提供切实可行的解决方案。

数组及其应用实验报告

数组及其应用实验报告

计算机与信息技术学院综合性、设计性实验报告一、实验目的:掌握一维、二维数组的定义及引用,字符数组的输入输出,字符串处理函数等。

本实验综合运用以前各章节所学知识,熟悉数组类型的应用场合以及数组的编程与使用方法,进一步熟悉和掌握数组及相关知识,使得以后在编程过程中更加得心应手。

二、实验仪器或设备:微型计算机。

三、总体设计(设计原理、设计方案及流程等)实验内容:学生成绩统计从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,分别实现下列功能:(1)统计不及格人数(2)统计成绩在全班平均分及平均分之上的学生人数(3)统计各分数段的学生人数及所占的百分比(60以下,60-69,70-79,80-89,90以上)#include<stdio.h>void main(){float p[5],ave,s=0;int i,n1=0,n2=0,n3=0,n4=0,n5=0,n6=0,n7=0,c;for(i=0;i<5;i++)scanf("%f",&p[i]);printf("\n");for(i=0;i<5;i++)if(p[i]<60) n1++;printf("不及格的人数是%d\n",n1);for(i=0;i<5;i++) s+=p[i];ave=s/5;printf("平均分是%f\n",ave);for(i=0;i<5;i++)if(p[i]>=ave) n2++;printf("平均分之上的学生人数是:%d\n",n2);for(i=0;i<5;i++){c=int(p[i]/10);switch (c){case 9:n3++;break;case 8:n4++;break;case 7:n5++;break;case 6:n6++;break;default:n7++;}}printf("90分以上的人数是%d,所占百分比是%f%%\n80~89的人数是%d,\所占百分比是%f%%\n70~79的人数:%d,所占百分比%f%%\n60~69的人数:%d,\ 所占百分比:%f%%\n60分以下的人数:%d,所占百分比:%f%%\n",n3,n3/5.0*100,n4,n4/5.0*100,n5,n5/5.0*100,n6,n6/5.0*100,n7,n7/5.0*100);}四、实验步骤:(包括主要步骤、代码分析等)实验分三个阶段完成:1. 分析设计阶段:找出实现方法,按照需求分析设计算法。

最新《实验二:数组》实验报告

最新《实验二:数组》实验报告

最新《实验二:数组》实验报告实验目的:1. 掌握数组的基本概念和使用方法。

2. 理解数组在内存中的存储方式。

3. 学会使用循环结构对数组进行遍历和操作。

4. 培养解决实际问题时数组应用的能力。

实验环境:- 操作系统:Windows 10- 开发工具:Visual Studio 2019- 编程语言:C++实验内容:1. 创建一个整型数组,包含10个元素,初始化为0到9的整数。

2. 使用循环结构实现数组中所有元素的累加,并输出结果。

3. 编写一个函数,计算数组中所有偶数的和,并返回结果。

4. 实现一个功能,允许用户输入一个整数,将其插入到数组的指定位置。

5. 对数组进行排序,使用冒泡排序算法,并输出排序后的数组。

实验步骤:1. 定义一个整型数组arr[10],并初始化。

2. 使用for循环,遍历数组,计算累加和,并输出。

3. 定义一个函数int calculateEvenSum(int arr[], int size),接收数组和数组大小作为参数,计算偶数和。

4. 实现用户输入功能,通过scanf获取用户输入的整数和指定位置,调用一个函数void insertElement(int arr[], int size, int value, int position)进行插入。

5. 应用冒泡排序算法对数组进行排序,定义一个函数voidbubbleSort(int arr[], int size)实现排序,并输出排序后的结果。

实验结果:1. 初始数组:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}。

2. 数组累加和输出:45。

3. 偶数和输出:20。

4. 用户输入插入操作:假设用户输入的值为5,指定位置为3,插入后的数组:{0, 1, 5, 2, 3, 4, 5, 6, 7, 8, 9}。

5. 排序后的数组输出:{0, 1, 2, 3, 4, 5, 5, 6, 7, 8, 9}。

实验分析:通过本次实验,我们成功实现了数组的基本操作,包括初始化、遍历、插入、计算和排序。

c语言 数组 实验报告

c语言 数组 实验报告

c语言数组实验报告C语言数组实验报告引言:C语言是一种广泛应用于软件开发领域的编程语言,而数组则是C语言中常用的数据结构之一。

本实验报告旨在介绍数组在C语言中的基本概念、用法以及实际应用。

一、数组的定义和声明数组是一种由相同类型的元素组成的数据结构,可以通过一个共同的名字和索引来访问其中的元素。

在C语言中,数组的定义和声明通常包括两个步骤:确定数组的类型和大小,并为其分配内存空间。

二、数组的初始化数组的初始化是指在声明数组的同时为其赋初值。

C语言提供了多种初始化数组的方式,如直接初始化、循环初始化等。

通过初始化,可以为数组的元素赋予初始值,方便后续的操作和使用。

三、数组的访问和操作通过数组名和索引,可以访问和操作数组中的元素。

在C语言中,数组的索引从0开始,因此第一个元素的索引为0,第二个元素的索引为1,以此类推。

可以使用赋值操作符(=)来修改数组中的元素值,也可以使用循环结构对数组进行遍历和操作。

四、多维数组除了一维数组,C语言还支持多维数组的定义和使用。

多维数组是指包含多个维度的数组,可以理解为数组的数组。

通过多维数组,可以更灵活地表示和处理复杂的数据结构和问题。

五、数组的应用举例1. 数组的排序:通过对数组元素进行比较和交换,可以实现对数组的排序操作,如冒泡排序、快速排序等。

2. 数组的搜索:通过遍历数组,可以实现对数组中特定元素的搜索操作,如线性搜索、二分搜索等。

3. 数组的统计:通过遍历数组并进行统计,可以实现对数组中元素的求和、求平均值等操作。

4. 数组的矩阵运算:通过多维数组,可以实现对矩阵的加法、减法、乘法等运算。

结论:通过本次实验,我们深入了解了C语言中数组的定义、初始化、访问和操作等基本概念和用法。

数组作为一种重要的数据结构,广泛应用于各个领域的软件开发中。

掌握数组的使用技巧,对于提高编程效率和代码质量具有重要意义。

在今后的学习和实践中,我们将进一步探索和应用数组的相关知识,提升自己的编程能力。

实验报告_数组的应用

实验报告_数组的应用

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

2. 掌握数组的创建、初始化和赋值方法。

3. 熟悉数组的基本操作,如遍历、排序、查找等。

4. 了解数组在实际编程中的应用。

二、实验环境1. 操作系统:Windows 102. 编程语言:C/C++3. 开发环境:Visual Studio 2019三、实验内容1. 数组的定义和特点数组是一种有序的数据集合,用于存储具有相同数据类型的元素。

数组具有以下特点:(1)数组中所有元素具有相同的数据类型;(2)数组中的元素按照一定顺序排列;(3)数组的大小在创建时确定,一旦创建,大小不能改变;(4)数组可以通过下标访问其中的元素。

2. 数组的创建、初始化和赋值(1)创建数组在C/C++中,可以通过以下方式创建数组:int arr[10]; // 创建一个整型数组,包含10个元素int arr2[3][4]; // 创建一个二维整型数组,包含3行4列的元素(2)初始化数组在创建数组时,可以同时初始化数组元素:int arr[5] = {1, 2, 3, 4, 5}; // 初始化整型数组arr (3)赋值数组在创建数组后,可以对数组元素进行赋值:int arr[5];arr[0] = 1;arr[1] = 2;arr[2] = 3;arr[3] = 4;arr[4] = 5;3. 数组的基本操作(1)遍历数组可以通过循环结构遍历数组元素:for (int i = 0; i < 5; i++) {printf("%d ", arr[i]);}(2)排序数组可以使用冒泡排序算法对数组进行排序:void bubbleSort(int arr[], int n) {for (int i = 0; i < n - 1; i++) {for (int j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}(3)查找数组元素可以使用线性查找算法查找数组元素:int linearSearch(int arr[], int n, int x) {for (int i = 0; i < n; i++) {if (arr[i] == x) {return i;}}return -1;}4. 数组在实际编程中的应用(1)实现冒泡排序算法在C/C++中,可以使用数组实现冒泡排序算法,如上述代码所示。

C语言程序设计实验七 数组的应用

C语言程序设计实验七   数组的应用
char s[]={‘\t’‘\n’,
‘\n’,
‘/’,
‘*’,
‘\n’,
/* (213 lines deleted)*/
0
};
/* The string is a representation of the body of this program from ‘0’to the end */
printf(“%d”,num[i]);
}
3、操作符&用以求一个变量的地址,这在函数scanf中已经使用过了。现在要你设计一个程序,返回一个3 * 5的二维数组各元素的地址,并由此说明二维数组中各元素是按什么顺序存诸的。
4、1983年,在ACM图林奖颁奖大会上,杰出的计算机科学家,UNIX的鼻祖,C语言的创始人之一,图林大奖得主,Ken Thompson上台的第一句话是:“我是一个程序员,在我的1040表上,我自豪地写上了我的职业。作为一个程序员,我的工作就是写程序,今天我将向大家提供一个我曾经写过的最精练的程序。”这个程序如下:
}
(3)#include <stdio.h>
main()
{int a[2+2*4];
}
通过这一实验,可以说明什么问题?
2、运行下面的C程序,根据运行结果,可以说明什么?
#include <stdio.h>
main( )
{int num[5]={1,2,3,4,5};
int i;
for(i=0;i<=5;i++)
main( )
{ int i;
printf(“char \ts[]={\” };
for (i=0;s[i];i++)

数组应用实验报告

数组应用实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

数组及其应用实验报告(3篇)

数组及其应用实验报告(3篇)

第1篇一、实验目的1. 熟练掌握数组的定义、初始化、赋值和输入输出方法。

2. 掌握一维数组和二维数组的操作方法。

3. 学会使用数组进行数据存储和排序。

4. 理解数组在实际编程中的应用场景。

二、实验环境硬件:个人电脑软件:Windows操作系统、C语言编译器三、实验内容1. 一维数组的定义、初始化和赋值2. 一维数组的输入输出3. 一维数组的查找与排序4. 二维数组的定义、初始化和赋值5. 二维数组的输入输出6. 二维数组的遍历7. 数组在实际编程中的应用案例四、实验步骤1. 一维数组的定义、初始化和赋值```cinclude <stdio.h>int main() {int array[5]; // 定义一个包含5个整数的数组array[0] = 1; // 赋值操作array[1] = 2;array[2] = 3;array[3] = 4;array[4] = 5;return 0;}```2. 一维数组的输入输出```cinclude <stdio.h>int main() {int array[5];printf("请输入5个整数:\n"); for (int i = 0; i < 5; i++) { scanf("%d", &array[i]);}printf("输入的数组元素为:\n"); for (int i = 0; i < 5; i++) { printf("%d ", array[i]);}return 0;}```3. 一维数组的查找与排序```cinclude <stdio.h>void selectionSort(int array[], int length) {for (int i = 0; i < length - 1; i++) {int minIndex = i;for (int j = i + 1; j < length; j++) {if (array[j] < array[minIndex]) {minIndex = j;}}int temp = array[minIndex];array[minIndex] = array[i];array[i] = temp;}}int main() {int array[5] = {3, 1, 4, 1, 5};int length = sizeof(array) / sizeof(array[0]); selectionSort(array, length);printf("排序后的数组为:\n");for (int i = 0; i < length; i++) {printf("%d ", array[i]);}return 0;}```4. 二维数组的定义、初始化和赋值```cinclude <stdio.h>int main() {int array[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; return 0;}```5. 二维数组的输入输出```cinclude <stdio.h>int main() {int array[3][4];printf("请输入一个3x4的二维数组:\n");for (int i = 0; i < 3; i++) {for (int j = 0; j < 4; j++) {scanf("%d", &array[i][j]);}}printf("输入的二维数组为:\n");for (int i = 0; i < 3; i++) {for (int j = 0; j < 4; j++) {printf("%d ", array[i][j]);}printf("\n");}return 0;}```6. 二维数组的遍历```cinclude <stdio.h>int main() {int array[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; for (int i = 0; i < 3; i++) {for (int j = 0; j < 4; j++) {printf("%d ", array[i][j]);}printf("\n");}return 0;}```7. 数组在实际编程中的应用案例(1)计算矩阵的转置```cinclude <stdio.h>void transposeMatrix(int matrix[][3], int rows, int cols, int transposed[][3]) {for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {transposed[j][i] = matrix[i][j];}}}int main() {int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};int rows = 3, cols = 3, transposed[3][3];transposeMatrix(matrix, rows, cols, transposed);printf("矩阵的转置为:\n");for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {printf("%d ", transposed[i][j]);}printf("\n");}return 0;}```(2)计算数组中最大值和最小值```cinclude <stdio.h>void findMaxMin(int array[], int length, int max, int min) { max = array[0];min = array[0];for (int i = 1; i < length; i++) {if (array[i] > max) {max = array[i];}if (array[i] < min) {min = array[i];}}}int main() {int array[] = {1, 3, 5, 7, 9};int length = sizeof(array) / sizeof(array[0]);int max, min;findMaxMin(array, length, &max, &min);printf("数组中的最大值为:%d,最小值为:%d\n", max, min);return 0;}```五、实验结果及分析本次实验通过一系列的实例,使我们对数组及其应用有了更深入的了解。

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

实验七 数组及其应用(二)
一、实验目的
1.掌握数组的基本概念。

2.掌握二维数组的声明、引用。

3.掌握静态数组和动态数组的区别。

4.掌握控件数组。

二、实验内容
1 有矩阵A ,用二维数组求其转置矩阵B 。

要求将两矩阵按照矩阵样式显示。

⎥⎦⎤⎢⎣⎡654321A =,⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡635241B = 【提示】
所谓转置,即:b(i,j)=a(j,i)。

2 有3×4矩阵A ,求其中值最大和值最小的那两个元素的值,以及它们所在的行号和
列号。

其中,⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡735086792741A =。

3 打印出如图9-1a 所示的杨辉三角形,要求先输入行数n 。

进一步要求:如果要显示为图9-1b 所示的样式,该如何改动原来的程序呢?
【提示】
(1)杨辉三角形是n b a )(+展开后各项的系数,具有如下规律:各行的第一个和最后一个数都是1;从第三行起,除上面指出的第一个数和最后一个数之外,其它的数是上一行同列和前一列两个数之和,即:]1,1[],1[],[--+-=j i a j i a j i a ,i 为行,j 为列。

(2)为了便于控制,将内容显示在图片框(PictureBox )中。

(3)要显示为图9-1(b )所示的样式,应该利用TAB 函数对每行显示的起始位定位。

图9-1(a ) 实验10.3程序运行界面
图9-1(b ) 实验10.3程序运行界面。

相关文档
最新文档