实验7(数组) 下载本文

内容发布更新时间 : 2024/5/16 3:48:53星期一 下面是文章的全部内容请认真阅读。

实验七 数组

实验目的

1.掌握数组及数组元素的概念、数组的定义、数组元素的赋值和引用;2.正确使用数值数组,并掌握与数组有关的常用算法。

要点提示

1. 数组是相关变量的有序集合,其中所有的变量具有相同的数据类型。 2. 一维数组定义格式为:

类型说明符 数组名[size] 3. 数组的下标:

数组的下标从0开始,到size-1为止。 4. 多维数组定义格式为:

类型说明符 数组名[size1][size2]...[sizen]

实验内容

1. 一维数组的定义、赋值和引用 2. 与数组有关的算法。

3. 二维数组的定义,赋值和引用 4.字符数组的定义,赋值和引用

实验步骤

读懂并输入程序,完成填空后输出结果,(下面程序中的中文注释可以不输入)

1. 建立一个一维数组,用来存放5名学生的成绩,输入成绩,并计算平均分。

#define N 5 main() {

1

int 【① 】; /* 数组定义语句 */ int i,sum=0; float aver;

printf(\ for (i=0; i<5; i++) {

scanf(\【②】); /* 输入数组元素 */ sum=sum+a[i]; }

aver=【③】; /* 计算平均分 */ printf(\}

程序运行结果:

Input 5 numbers: 80 80 90 90 90 The average score is: 【④】

2. 设数组a 包括10个元素,下面程序的功能是求出a中各相邻两个元素的和,并将这些和存放在数组 b中,按每行3个元素的形式输出。 例: b[1]=a[1]+a[0],...b[9]=a[9]+a[8] main()

{int a[10],b[10],i;

printf(\

for (i=0; i<10;i++) /* 数组输入 */ scanf(\ for (i=1; i<10; i++)

b[i]=【①】; /* 计算b数组中的元素 */ for (i=1; i<10; i++) { printf(\

if (【②】==0) printf(\每行打印3个数据 */ } }

程序运行结果:

Input 10 numbers:1 2 3 4 5 6 7 8 9 10 【③】 【④】 【⑤】

3. 将一个数组中的值按逆序重新存放,例如,原来顺序为:8,6,5,4,

2

1。要求改为:1,4,5,6,8。提示:a[0]和a[n-1]交换, a[1]和a[n-1-1]交换.... #define N 5 main()

{ int a[N]={8,6,5,4,1}, i, temp;

printf(\ for (i=0; i

printf(\ for (i=0; i

程序运行结果

The original array is: 【③】 The new array is: 【④ 】

4. 求一个3X3矩阵主对角线元素之和。提示求a[0][0]+a[1][1]+a[2][2]. main()

{int 【①】; /* 数组定义语句 */ int i,j,sum=0;

printf(\ for (i=0;i<3;i++)

scanf(\【②】); /* 输入一行数组元素 */ for (i=0;i<3;i++)

printf(\输出一行数据元素 */

for (i=0;i<3;i++)

sum = 【③】; /* 计算对角线元素之和,提示i=i*/ printf(\}

程序运行结果如下:

3