实验四 数组和字符串 下载本文

内容发布更新时间 : 2024/6/29 4:04:37星期一 下面是文章的全部内容请认真阅读。

·28· 实验四 数组与字符串

实验四 数组和字符串

实验目的

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

? 要点提示

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

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

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

类型说明符 数组名[size1][size2]…[sizen] 5. 字符串

字符串一般使用一维字符数组处理,实际上就是以空字符结尾的字符数组。 字符串常量是由一对双引号括起来的字符集合。

实验内容

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

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

5. 常用字符串处理函数的使用

实验步骤

读懂并输入程序,完成填空后输出结果,(下面程序中的中文注释可以不输入) 1. 建立一个一维数组,用来存放5名学生的成绩,输入成绩,并计算平均分。

#define N 5 main() {

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

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

scanf(\【 】); /* 输入数组元素 */

·29· 实验四 数组与字符串

sum=sum+a[i]; }

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

程序运行结果:

Input 5 numbers: 80 80 90 90 90 The average score is: 86.000000 #define N 5 main() {

int a[5]; /* 数组定义语句 */ int i,sum=0; float aver;

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

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

aver=sum/5.0; /* 计算平均分 */ printf(\}

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个数据 */ } }

程序运行结果:

·30· 实验四 数组与字符串

Input 10 numbers:1 2 3 4 5 6 7 8 9 10 3 5 7 9 11 13 15 17 19 main() {

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

printf(\

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

b[i]=a[i]+a[i-1]; /* 计算b数组中的元素 */ for (i=1; i<10; i++) {

printf(\

if (i%3==0) printf(\/* 每行打印3个数据 */ } }

3. 将一个数组中的值按逆序重新存放,例如,原来顺序为:8,6,5,4,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: 8 6 5 4 1 The new array is: 1 4 5 6 8