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

合集下载

c语言数组实验报告

c语言数组实验报告

c语言数组实验报告C 语言数组实验报告一、实验目的1、深入理解 C 语言数组的概念和基本操作。

2、掌握数组的定义、初始化、遍历和访问。

3、学会使用数组解决实际问题,提高编程能力和逻辑思维能力。

二、实验环境1、操作系统:Windows 102、编译环境:Visual Studio 2019三、实验内容1、一维数组的操作定义一个包含 10 个整数的一维数组,并使用循环进行初始化。

编写程序,计算数组中所有元素的和与平均值,并输出结果。

实现对数组元素的遍历,输出每个元素的值。

2、二维数组的操作定义一个 3 行 4 列的二维整数数组,并进行初始化。

编写程序,计算二维数组中所有元素的总和。

打印出二维数组中每一行的元素值。

3、字符数组的操作定义一个字符数组,存储一个字符串。

实现字符串的输入和输出功能。

编写程序,统计字符串中字符的个数。

四、实验步骤(一)一维数组的操作1、定义并初始化一维数组```cint arr10 ={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};```2、计算数组元素的和与平均值```cint sum = 0;float average;for (int i = 0; i < 10; i++){sum += arri;}average =(float)sum / 10;printf("数组元素的和为:%d\n", sum);printf("数组元素的平均值为:%2f\n", average);```3、遍历并输出数组元素```cfor (int i = 0; i < 10; i++){printf("%d ", arri);}printf("\n");```(二)二维数组的操作1、定义并初始化二维数组```cint arr234 ={{1, 2, 3, 4},{5, 6, 7, 8},{9, 10, 11, 12}};```2、计算二维数组元素的总和```cint sum2 = 0;for (int i = 0; i < 3; i++){for (int j = 0; j < 4; j++){sum2 += arr2ij;}}printf("二维数组元素的总和为:%d\n", sum2);```3、打印二维数组每一行的元素值```cfor (int i = 0; i < 3; i++){for (int j = 0; j < 4; j++){printf("%d ", arr2ij);}printf("\n");}```(三)字符数组的操作1、定义并初始化字符数组```cchar str100;```2、输入和输出字符串```cprintf("请输入一个字符串:");scanf("%s", str);printf("您输入的字符串是:%s\n", str);3、统计字符串中字符的个数```cint count = 0;for (int i = 0; stri!='\0'; i++){count++;}printf("字符串中字符的个数为:%d\n", count);```五、实验结果(一)一维数组的操作结果1、数组元素的和为:552、数组元素的平均值为:5503、数组元素的输出结果为:1 2 3 4 5 6 7 8 9 10(二)二维数组的操作结果1、二维数组元素的总和为:782、二维数组每一行的元素输出结果为:5 6 7 89 10 11 12(三)字符数组的操作结果1、输入字符串为:hello2、输出字符串为:hello3、字符串中字符的个数为:5六、实验分析(一)一维数组在对一维数组进行操作时,通过循环可以方便地对数组中的每个元素进行访问和处理。

c语言数组实验总结

c语言数组实验总结

c语言数组实验总结本次实验主要是关于C语言数组的内容,通过阅读相关教材和进行实践编程来学习和理解C语言中数组的使用方法和特点。

下面将对本次实验的整体过程和收获进行总结。

首先,在进行实验前,我先对C语言数组的相关概念和特点进行了学习和了解。

数组是指将具有相同类型的一组元素按一定顺序排列起来的集合,具有连续的存储空间。

在C语言中,数组的声明和使用主要有以下几个要点:数组的声明需要指定数组的数据类型和数组的名称;数组的元素可以通过下标来进行访问,下标是从0开始的;在数组的声明中可以指定数组的长度,也可以省略长度,由编译器自动计算。

在实验过程中,我按照实验指导书的要求完成了几个实例。

首先,我实现了一个简单的一维数组的求和程序。

这个程序要求用户输入一组数据,然后对这些数据进行求和,并输出结果。

通过编写这个程序,我熟悉了数组的基本声明和使用方法,了解了如何使用循环结构遍历数组中的元素,并且体会到了数组的便捷性和高效性。

然后,我又进行了一个二维数组的转置程序的实现。

这个程序要求用户输入一个3x3的矩阵,然后将这个矩阵进行转置,并输出转置后的结果。

通过编写这个程序,我进一步巩固了对数组的理解和使用,了解了二维数组的声明和使用方法,掌握了如何使用双重循环进行二维数组的遍历和操作。

接着,我尝试了一个动态分配内存的实例。

这个实例通过用户输入一个正整数n,然后动态地分配一个大小为n的一维数组,并为数组的每个元素赋值为其下标的平方。

通过编写这个程序,我了解到了动态分配内存的方法和步骤,掌握了使用malloc函数进行内存分配和free函数进行内存释放的操作,进一步提升了代码的灵活性和可扩展性。

在整个实验过程中,我遇到了一些问题,并且通过查阅资料和与同学讨论,得到了解决。

其中一个问题是关于数组长度的计算。

在程序中可以通过sizeof运算符来计算数组的长度,但是需要注意的是,数组作为函数参数传递时,其大小会变成指针类型的大小,而不是实际元素的个数。

c语言实验报告《数组》

c语言实验报告《数组》

c语言实验报告《数组》C语言实验报告:数组引言:C语言是一门广泛应用于计算机编程领域的高级编程语言,其强大的功能和灵活性使得它成为了许多程序员的首选。

在C语言中,数组是一种非常重要的数据结构,它能够存储多个相同类型的元素,并通过索引来访问和操作这些元素。

本篇实验报告将重点介绍C语言中的数组,并通过实例来展示其用法和特性。

一、数组的定义和声明在C语言中,数组的定义和声明非常简单。

我们可以通过以下方式来定义一个数组:```数据类型数组名[数组大小];```其中,数据类型表示数组中元素的类型,数组名是我们给数组起的名称,而数组大小则表示数组中元素的个数。

例如,我们可以定义一个包含5个整数的数组:```int numbers[5];```这样,我们就成功地声明了一个名为numbers的整数数组,它包含了5个元素。

二、数组的初始化在声明数组的同时,我们还可以为数组的元素赋初值。

这个过程称为数组的初始化。

C语言提供了多种初始化数组的方式,例如:```int numbers[5] = {1, 2, 3, 4, 5};```上述代码将数组numbers的前5个元素分别初始化为1、2、3、4和5。

我们也可以只给部分元素赋初值,未赋初值的元素将自动被初始化为0:```int numbers[5] = {1, 2, 3};```这样,数组numbers的前3个元素将分别被初始化为1、2和3,而后两个元素将被初始化为0。

三、数组的访问和操作数组的访问和操作是我们使用数组的重要环节。

在C语言中,我们可以通过索引来访问和操作数组中的元素。

数组的索引从0开始,即第一个元素的索引为0,第二个元素的索引为1,以此类推。

例如,我们可以通过以下方式来访问数组numbers的第一个元素:```int firstNumber = numbers[0];```上述代码将数组numbers的第一个元素赋值给变量firstNumber。

同样,我们也可以通过索引来修改数组中的元素:```numbers[0] = 10;```上述代码将数组numbers的第一个元素修改为10。

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语言实验报告数组

C语言实验报告数组

C语言实验报告数组实验目的:本实验旨在通过对C语言中数组的使用进行实践,加深对数组概念的理解,并掌握数组的声明、初始化和操作方法。

实验环境:操作系统:Windows 10编译器:Dev-C++ 5.11实验内容:1. 数组的声明和初始化在C语言中,数组是由相同类型的数据元素组成的集合。

声明数组时需要指定元素的类型和数组的名称,同时还可以指定数组的大小。

数组的初始化可以在声明时进行,也可以在后续的代码中进行。

示例代码:```c#include <stdio.h>int main() {int numbers[5]; // 声明一个包含5个整数的数组int i;// 初始化数组元素for (i = 0; i < 5; i++) {numbers[i] = i + 1;}// 输出数组元素for (i = 0; i < 5; i++) {printf("numbers[%d] = %d\n", i, numbers[i]);}return 0;}```2. 数组的访问和操作通过下标(索引)可以访问数组中的元素,数组的下标从0开始,依次递增。

我们可以使用循环结构遍历数组,对数组中的元素进行操作。

示例代码:```c#include <stdio.h>int main() {float temperatures[7]; // 声明一个包含7个浮点数的数组int i;// 输入一周每天的温度for (i = 0; i < 7; i++) {printf("请输入星期%d的温度:", i + 1);scanf("%f", &temperatures[i]);}// 输出一周每天的平均温度float sum = 0;for (i = 0; i < 7; i++) {sum += temperatures[i];}printf("一周的平均温度为:%.2f\n", sum / 7);return 0;}```3. 多维数组除了一维数组外,C语言还支持多维数组。

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语言中数组的定义和初始化方法,学会了访问数组元素、修改数组元素、遍历数组的操作,还了解了数组作为函数参数的使用。

c语言数组实验报告

c语言数组实验报告

c语言数组实验报告C 语言数组实验报告一、实验目的本次实验旨在深入理解和掌握 C 语言中数组的基本概念、使用方法以及常见的操作。

通过实际编程和调试,提高对数组的运用能力,为今后解决更复杂的程序设计问题打下坚实的基础。

二、实验环境操作系统:Windows 10编译器:Visual Studio 2019三、实验内容1、一维数组的定义、初始化和遍历定义一个包含整数的一维数组,如`int arr10;`使用初始化列表为数组赋值,例如`int arr5 ={1, 2, 3, 4, 5};`通过循环遍历数组,输出每个元素的值。

2、一维数组的查找和修改实现线性查找算法,在数组中查找特定的元素。

根据找到的元素位置,修改其值。

3、二维数组的定义、初始化和遍历定义二维数组,如`int arr234;`以不同的方式初始化二维数组,如按行初始化或整体初始化。

使用双重循环遍历二维数组。

4、二维数组的应用:矩阵运算实现两个矩阵的相加和相乘运算。

四、实验步骤1、一维数组的定义、初始化和遍历编写代码如下:```cinclude <stdioh>int main(){int arr10;int i;//初始化数组for (i = 0; i < 10; i++){arri = i + 1;}//遍历数组并输出for (i = 0; i < 10; i++){printf("%d ", arri);}return 0;}```编译并运行代码,观察输出结果,验证数组的初始化和遍历是否正确。

2、一维数组的查找和修改以下是实现线性查找并修改元素值的代码:```cinclude <stdioh>int main(){int arr5 ={10, 20, 30, 40, 50};int target = 30;int found = 0;int i;//查找元素for (i = 0; i < 5; i++){if (arri == target) {found = 1;break;}}if (found) {printf("找到元素%d,位于索引%d\n", target, i);arri = 100; //修改元素值} else {printf("未找到元素%d\n", target);}//输出修改后的数组for (i = 0; i < 5; i++){printf("%d ", arri);}return 0;}```运行程序,输入不同的目标值,查看查找和修改的结果。

数组实验报告实验小结

数组实验报告实验小结

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

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

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

二、实验目的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语言程序设计实验报告-数组

一、实验项目名称数组二、实验目的1.掌握数组的基本概念,包括:数组的定义、数组的类型、数组的初始化、数组的赋值、数组元素下标的范围、数组元素的正确以及引用数组元素的输入/输出。

2.掌握字符数组与字符串的使用方法。

理解字符数组与其它数组的区别、理解字符串及其特点。

掌握常用的字符串处理库函数的用法并清楚对字符串的简单处理。

3.掌握与数组相关的算法,包括排序算法和查找算法等。

三、实验内容进行有关数组的程序设计。

具体内容:1.编程实现:对任意一个一维数组,从中找出数组元素的最大值和最小值。

要求:(1)数组为整型数组(10个元素)。

(2)使用scanf函数实现数组元素的输入。

在输入前给出必要的提示。

(3)输出时给出必要的说明,首先输出原始的10个元素,换行后输出最大值以及最大值在数组中的位置、最小值以及最小值在数组中的位置。

(4)如果现改为20个元素的数组,怎样修改程序?修改程序后,运行程序进行检查。

如果需要数组元素不断改变,应怎样修改程序?2.编程实现:在给定的字符串中查找满足条件的第一个字符。

要求:(1)字符串采用初始化的方式处理。

(2)通过scanf函数读入一个任意字符。

(3)在字符串中查找该字符,如果存在该字符,输出该字符在字符串中的位置以及相应的说明。

如果不存在该字符,则要给出相应的信息。

3.编程实现:首先任意输入一个大于2且小于10的整数n,再输入一个由n决定的二维整型数组(n ⨯n),形成n ⨯n阶矩阵,将矩阵中最大元素所在的行和最小元素所在的行对调后,再输出该矩阵(注意:数组不允许动态定义)。

例如:原始数据:n=4 结果数据:1 2 3 4 8 11 14 163 5 9 10 3 5 9 108 11 14 16 1 2 3 415 2 7 6 15 2 7 6要求:(1)本题中所涉及到的循环都采用for语句。

(2)在输入/输出时进行必要的说明。

(3)对输入的2~10之间的整数(例如4)以n=4的格式输出。

C语言数组实验报告

C语言数组实验报告

实验名:数组一、实验目的1、掌握数组定义的规则。

2、掌握C语言数组的基本用法。

二、实验内容) 题目11、编写程序,测试下列数组的定义方式是否正确(1) main(){int n;scanf(“%d”,&n);int a[n];……}(2) main(){const int n=10;int a[n];}(3) #include <stdio.h>#define M 10main(){int a[M];}(4) main(){int a[2+2*4];}(5) #include <stdio.h>#define M 2#define N 8main(){ int a[M+N];}通过这一实验,可以说明什么问题2、输入和输出信息描述及数据类型确定;、输入数据序号输入数据描述数据类型(1)n,a[n] int(2)na[n] cons tint int(3)a[M]或a[10] int (4)a[2+2*4] int (5)a[M+N] int 3、程序调试错误序号错误信息(列出出错语句以及出错提示)是否解决解决方法(1-1)main.c|5|error: expectedexpression before '%' token|scanf(“%d”,&n);是将%d两边的符号改为西文字符的引号scanf("%d",&n);(1-2)main.c|6|warning: unusedvariable 'a'[-Wunused-variable]|int a[n];是将前面的n的输入去掉,把n改为具体数字(5) main.c|6|warning: unusedvariable 'a'[-Wunused-variable]|int a[M+N];是加上个scanf(“%d”,&a[M+N]);4、相关问题回答通过这一实验,可以说明什么问题1、(2)(3)(4)(5)对,(1)错,(1)中a[n]的数组定义的【】里的常量表达式不能是变量。

C语言实验报告 数组

C语言实验报告 数组

实验七数组1.实验目得(1)熟练掌握一维数组、二维数组得定义、初始化与输入/输出方法;(2)熟练掌握字符数组与字符串函数得使用;(3)掌握与数组有关得常用算法(如查找、排序等).2.实验指导(1)对任意一个一维型数组,从中找出数组元素得最大值与最小值并输出。

要求:①数组有十个元素;②使用scanf函数实现数组元素得输入前给出必要得提示;③输出时,首先输出数组得十个元素,然后输出其最大值与最小值。

分析指导:①算法分析:首先定义一个数组,通过循环从键盘输入十个数组元素得值,再通过另一个循环判断数组元素得最大只与最小值;②根据分析情况编写程序:#include<stdio、h>main(){int a[10],i,max,min;printf(”please input ten integers:");for(i=0;i<=9;i++){scanf(”%d",&a[i]);}max=a[0];min=a[0];for(i=1;i〈=9;i++){if(a[i]〉max)max=a[i];if(a[i]〈min)min=a[i];}for(i=0;i〈=9;i++){printf("a[%d]=%d\n”,i,a[i]);}printf(”The maximum value is%d,and the minimum value i s%d\n",max,min);}运行程序,输入十个整数,如:21 37 6 17 9 12 89 76 35 59运行结果如下:(2)编写函数cmpStr(char s1[],char s2[])比较两个字符串s1与 s2得大小。

如果s1>s2,返回一个正数;s1=s2,返回0;s1〈s2,返回一个负数,在主函数中调用该函数完成字符串得比较操作,并输出返回得值。

要求:①不允许使用strcmp()函数;②用gets()函数在主函数中输入两个字符串;③实现触摸屏受托人()函数,返回得正数或负数得绝对值应该就是进行比较得两个字符传中相应字符得ASCII码得差值。

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语言程序设计实验数组

实验4:数组一、实验目的1.掌握一维数组和二维数组的定义、赋值和输入输出的方法;2.掌握字符数组和字符串函数的使用;3.掌握与数组有关的算法(特别是排序算法)。

二、实验内容编写程序,实现如下功能:1.对N个自然数进行从大到小排序(N可定义为任意大于1的常数,如:#define N 15),并找出其中的质数。

质数(prime number)又称素数,定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

2.打印杨辉三角(打印N行,N为6到10间的常数)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1::::::并通过程序计算:第10行第5列是多少?第50行第25列呢?(提示:无需输出所有行,将要求计算的结果用printf函数打印到屏幕上即可)3.有一行电文,已按下面规律译成密码:A→Z a→zB→Y b→yC→X c→x: :即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母;非字母字符不变。

要求编程将密码译回原文,并打印出密码和原文。

(注意:为提高程序可读性,不要直接使用字符的ASCII码。

)三、实验结果记录第1题上机调试后的最终代码及上机调试结果(截图):程序代码:程序结果:第2题上机调试后的最终代码及上机调试结果(截图):程序代码:程序结果:第3题上机调试后的最终代码及上机调试结果(截图):程序代码:程序结果:四、实验小结:经过本次实验我对一维数组以及二维数组有了更加深刻的掌握,加深了我对字符串数组的认识,除此之外,我学会了在数据较大时用double防止数据溢出,同时更加熟悉了选择排序和冒泡排序的算法。

c语言 数组 实验报告

c语言 数组 实验报告

c语言数组实验报告
《C语言数组实验报告》
摘要:
本实验旨在通过C语言编程实现数组的基本操作,包括数组的初始化、赋值、遍历和排序等。

通过实验,我们深入了解了数组在C语言中的使用方法,加深了对数组概念和操作的理解。

一、实验目的
1. 理解C语言数组的概念和基本操作;
2. 掌握数组的初始化、赋值、遍历和排序等操作;
3. 提高对C语言的编程能力。

二、实验内容
1. 数组的定义和初始化;
2. 数组元素的赋值和访问;
3. 数组的遍历;
4. 数组的排序。

三、实验步骤
1. 定义一个整型数组并初始化;
2. 使用循环结构给数组元素赋值;
3. 编写循环结构实现数组的遍历;
4. 使用排序算法对数组进行排序。

四、实验结果
1. 成功定义并初始化了一个包含10个元素的整型数组;
2. 使用循环结构成功给数组元素赋值,并能正确访问数组元素;
3. 编写的遍历代码能够正确输出数组中的所有元素;
4. 使用冒泡排序算法对数组进行了排序,得到了正确的结果。

五、实验总结
通过本次实验,我们加深了对C语言数组的理解,掌握了数组的基本操作方法,并且在实践中提高了编程能力。

数组在C语言中是一种非常重要的数据结构,
对于日后的编程工作具有重要的参考价值。

希望通过实验的学习,能够更加熟
练地运用数组进行编程,为以后的学习和工作打下坚实的基础。

C语言实验报告《数组》实验报告

C语言实验报告《数组》实验报告

C语言实验报告《数组》实验报告实验目的本次实验的主要目的是了解C语言中数组的概念、用法和操作,掌握如何定义和使用数组。

通过练习编写具有一定复杂度的数组相关程序,加深对C语言数组的理解和应用。

实验内容1. 数组的定义与初始化在C语言中,数组是一组具有相同类型的数据在内存中连续存储,通过数组下标访问每个元素。

数组的定义形式为:type name[size],其中type为数组元素的类型,name为数组名,size为数组大小(元素个数)。

数组的初始化可以在定义时或之后进行。

定义时,可以使用下标逐个指定每个元素的值,形如type name[size] = {val0, val1, ...};也可以只指定部分元素,剩余元素的值为默认值(0或NULL),形如type name[size] = {val0,val1, ...}。

之后初始化则可以使用数组下标逐个赋值,或使用循环语句给整个数组赋值。

例如,下面是一个整型数组的定义和初始化:int arr[5] = {1,2,3}; //arr[0] = 1, arr[1] = 2, arr[2] = 3, arr[3] = 0, arr[4] = 0;for(int i=0; i<5; i++){arr[i] = i; //arr[0] = 0, arr[1] = 1, arr[2] = 2, arr[3] = 3, arr[4] = 4;}2. 多维数组除了一维数组,C语言还支持多维数组。

多维数组是指一个数组中每个元素又是一个数组,形成了二维、三维甚至更高维度的数组。

多维数组的定义与一维数组类似,只是需要在type后面加上多个方括号,每个方括号内表示该维度的大小。

例如,定义一个二维数组:int matrix[2][3] = {{1,2,3},{4,5,6}}; //matrix[0][0] = 1, matrix[0] [1] = 2, ..., matrix[1][2] = 6多维数组的初始化可以像一维数组一样,在定义时指定每个元素的值,或在之后使用嵌套循环赋值。

C语言上机操作指导实验五数组(1) 实验八函数(2)

C语言上机操作指导实验五数组(1) 实验八函数(2)

第 4页,共 14页
《C 程序设计》实验及课程设计项目报告
下标= a 2
0
1 8
2 16
3 14
4 1 10
5 8
6
7 16
8 4
9 20
10 6
部分源代码: k=0; if ( a[k]<a[1] ) 真 k=1; 执行 k=0; if ( a[k]<a[2] ) 假 for ( i=1; i<10; i++ ) k=2; 不执行 if ( a[k]<a[i] ) if ( a[k]<a[3] ) 真 k=i; k=3; 执行 相关知识:①删除数组元素的概念;②移动数组元素的算法;③求最大值位置的算法。 7. 以下 sy30.c 程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输 出低于平均分的学生成绩,用输入负数结束输入。请填空: #include <stdio.h> void main( ) { float x[1000], sum=0.0, ave, a; int n=0, i; printf ("Enter mark : \n") ; scanf("%f", &a); while (a>=0.0 && n<1000) { sum+= ; x[n]= ; n++; scanf("%f", &a); } ave= ; printf ("Output : \n"); printf ("ave = %f\n", ave); for (i=0; i<n; i++) if ( ) printf("%f\n", x[i]); } 8.打印如下杨辉三角形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 编程点拨: 杨辉三角形有如下特点: 1 只有下半三角形有确定的值; 2 第一列和对角线上的元素值都是 1; 3 其它元素值均是前一行同一列元素与前一行前一列元素之和。

C语言实验报告实验五参考答案

C语言实验报告实验五参考答案

C语言实验报告实验五参考答案实验五一维数值数组(参考答案)1、设计程序sy5-1.c,计算n门课程的平均分。

例如:若有5门课程的成绩是:90.5.72.80.61.5.55,则平均分是:71.80.算法分析:先求n门课的成绩总和,(累加求和),再用累和除以课程数。

参考答案:includevoid main()double score[30]。

sum=0,aver;int n,i;printf("Inputn:");scanf("%d",&n);printf("请依次输入%d门课程的成绩",n);for(i=0;i<n;i++)scanf("%lf",&score[i]);sum=sum+score[i];aver=sum/n;printf( "\nAverage scoreis: %5.2f\n"。

aver);运行结果:2、设计步伐sy5-2.c,对输入的10个整数按倒序寄存后输出成效。

算法阐发:利用“半数交流”算法,最前面的元素和末了面的元素交流,逐步向中央挨近。

可利用两个下标变量i和XXX。

参考答案:includeint main()int a[10]={1,2,3,4,5,6,7,8,9,10};int i,j,t;for( i=0,j=9.i<j。

i++,j--)//逐一向中,交换。

直到已没有元素没交换t=a[i]。

a[i]=a[j]。

a[j]=t;}// a[i]-数组前端的数,a[j]-数组后端的数printf("交流后数组元素是:");for(i=0;i<10;i++)printf("%5d",a[i]);//%5d,5透露表现宽度printf("\n");//输出完所有的数后换行return 0;运行结果:3、设计程序sy5-3.c,输入10个整数,找出其中的最大数及其所在的下标。

c 实验报告数组

c  实验报告数组

c 实验报告数组C 实验报告数组引言:在计算机科学领域中,数组是一种常见的数据结构,用于存储和操作一系列相同类型的数据。

在C语言中,数组是一种非常重要的数据类型,它可以存储多个相同类型的元素,并通过索引访问这些元素。

本实验报告将探讨C语言中数组的特性、用法和一些常见的问题。

一、数组的定义和初始化在C语言中,数组的定义需要指定元素的类型和数组的大小。

例如,int类型的数组可以定义为:int arr[5]; 这意味着我们创建了一个包含5个整数元素的数组。

数组的索引从0开始,因此可以使用arr[0]到arr[4]来访问这些元素。

数组的初始化可以在定义时进行,也可以在后续的代码中进行。

例如,我们可以使用以下方式初始化上述的整数数组:int arr[5] = {1, 2, 3, 4, 5};这样,数组arr的第一个元素为1,第二个元素为2,以此类推。

二、数组的访问和操作通过索引,我们可以访问数组中的特定元素。

例如,要访问数组arr的第一个元素,可以使用arr[0]。

我们还可以对数组进行赋值操作,例如:arr[1] = 10; 这将把数组arr的第二个元素的值设置为10。

除了访问和赋值,数组还支持一些常见的操作,如求和、平均值等。

例如,我们可以编写一个函数来计算数组中所有元素的和:int sum(int arr[], int size) {int total = 0;for (int i = 0; i < size; i++) {total += arr[i];}return total;}三、数组的长度和越界访问在C语言中,数组的长度是固定的,一旦定义后就无法改变。

因此,在使用数组时,我们需要确保不会越界访问。

例如,如果数组arr的长度为5,那么我们只能使用arr[0]到arr[4]的索引进行访问,使用arr[5]将导致越界错误。

为了避免越界访问,我们可以使用循环结构来遍历数组,并在访问前检查索引是否有效。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.编程实现:首先任意输入一个大于2且小于10的整数n,再输入一个由n决定的二维整型数组(n n),形成n n阶矩阵,将矩阵中最大元素所在的行和最小元素所在的行对调后,再输出该矩阵(注意:数组不允许动态定义)。
例如:原始数据:n=4结果数据:
1 2 3 4 8 11 14 16
3 5 9 10 3 5 9 10
要求:
(1)设定一个数组存放20个数据,用赋初值的方法在程序中给出(假设这些数据已排序)。
(2)用scanf函数输入一个要找的数。
(3)对查找的结果给出相应的说明,如果找到该数,则给出该数是数组中第几个元素。如果该数不在数组中,则输出“无此数”信息。
(4)任意输入一些数据,检查程序的正确性。
(5)修改程序,设定输入的数据是无序的,采用scanf函数的形式输入,首先要对这些无序的数据进行排序,然后再采用“折半查找”。最后通过测试几组差别较大的数据检查程序的正确性。
8 11 14 16 1 2 3 4
15 2 7 6 15 2 7 6
要求:
(1)本题中所涉及到的循环都采用for语句。
(2)在输入/输出时进行必要的说明。
(3)对输入的2~10之间的整数(例如4)以n=4的格式输出。
(4)输入一个n n矩阵(假定最大值与最小值不在同一行上),输出原始矩阵数据(按上述矩阵形式)。
printf("原始数据:");
for (i=0;i<10;++i)
printf("%d ",a[i]);
printf("\n");
max=a[0];/*初始化max和min*/
min=a[0];
for (i=0;i<10;++i)
{
if (a[i]>=max)
max=a[i];
if (a[i]<=min)
(4)在主函数中输出两个原始字符串和各自的长度以及处理后字符串及其长度。
实验步骤
在编程软件中写如以下代码:
一、
#include <stdio.h>
void main()
{
int a[10],i,j,k,max,min;
printf("请输入10个数:\n");
for (i=0;i<10;++i)
scanf("%d",&a[i]);
实验项目名称
数组
实验目的
1.掌握数组的基本概念,包括:数组的定义、数组的类型、数组的初始化、数组的赋值、数组元素下标的范围、数组元素的正确以及引用数组元素的输入/输出。
2.掌握字符数组与字符串的使用方法。理解字符数组与其它数组的区别、理解字符串及其特点。掌握常用的字符串处理库函数的用法并清楚对字符串的简单处理。
average:
73.0 85.3 68.0 86.0 77.3
要求:
(1)数组类型为实型,输入成绩由scanf函数实现。
(2)输出已输入的原始成绩数据(3×5)。
(3)计算每个学生的平均成绩以及单科的成绩总和并按要求填入到数组中,输出填入结果后的数组(4×6)。
(4)j计算单科平均成绩后输出。
6.编写函数catStr(char str1[],charstr2[])用于进行两个字符串的连接,编写函数lenStr()用于统计一个字符串的长度。编写函数cmpStr()用于判断两个字符串的大小。
要求:
(1)不允许使用字符处理库函数。
(2)在主函数以初始化的方式输入两个字符串str1、str2。调用函数lenStr()计算字符串的长度。
(3)调用函数cmpStr()判断两个字符串的大小,如果str1大于等于str2,调用函数catStr()进行两个字符串的连接,将str1连接在str2后,否则,将str2连接在str1后,调用函数lenStr()统计连接后的字符串长度。
Input(输入成绩):
65 87 68 56 78<cr>
83 94 67 85 91<cr>
71 75 69 84 89<cr>
Output(输出结果):
65 87 68 56 78 70.5
83 94 67 85 91 84.0
71 75 69 84 89 77.5
219.0256.0204.0258.0232.0 0
(5)查找最大值与最小值,将矩阵中最大元素所在的行和最小元素所在的行对调,输出对调后的矩阵数据。
(6)修改程序,对最大值与最小值可能出现在一行上的情况做出说明。
(7)对n为3,4,5时,输入数组元素是要注意哪些问题?执行程序,检查程序的正确性。
4.编程实现“折半查找”的过程。折半查找的处理过程是:在一个数据已排好序的数组中,首先比较关键字与数组中间的元素,如果两者相等,则查找结束;如果前者比后者小,则要查找的数据必然在数组的前半部,此后只需在数组的前半部中继续折半查找;如果前者的数值比后者大,则要查找的数据必然在数组的后半部,此后只需在数组的后半部继续进行折半查找。
3.掌握与数组相关的算法,包括排序算法和查找算法等。
实验内容
进行有关数组的程序设计。
具体内容:
1.编程实现:对任意一个一维数组,从中找出数组元素的最大值和最小值。
要求:
(1)数组为整型数组(10个元素)。
(2)使用scanf函数实现数组元素的输入。在输入前给出必要的提示。
(3)输出时给出必要的说明,首先输出原始的10个元素,换行后输出最大值以及最大值在数组中的位置、最小值以及最小值在数组中的位置。
(4)如果现改为20个元素的数组,怎样修改程序?修改程序后,运行程序进行检查。如果需要数组元素不断改变,应怎样修改程序?
2.编程实现:在给定的字符串中查找满足条件的第一个字符。
要求:
(1)字符串采用初始化的方式处理。
(2)通过scanf函数读入一个任意字符。
(3)在字符串中查找该字符,如果存在该字符,输出该字符在字符串中的位置以及相应的说明。如果不存在该字符,则要给出相应的信息。
min=a[i];/*找最大值和最小值*/
(6)修改程序,改为函数调用的形式。编写一个选择法排序函数,对ห้องสมุดไป่ตู้序数据进行排序;编写一个查找函数对已排好序的数据进行查找。在主函数中输入数据(无序),调用上述函数,输出结果。
5.编程实现:三个学生、五门课程的成绩分别存放在4×6矩阵的前3×5列,计算出每个学生的平均成绩存放在该数组的最后一列的对应行上。计算单科的成绩总和存放在最后一行的对应列上,并输出单科成绩的平均分。输入/输出格式举例如下:
相关文档
最新文档