(实验四)符数组与字符串

  • 格式:doc
  • 大小:54.50 KB
  • 文档页数:4

下载文档原格式

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

实验四字符数组与字符串

一、实验目的

●了解并掌握一维数组与二维数组的定义方法

●了解并掌握一维数组与二维数组的初始化方法及元素的引用方法

●了解并掌握字符串、字符串数组以及字符串函数的使用方法

二、实验环境

●个人计算机一台,PIII500(或同等性能)以上CPU,128MB以上内存,500MB以

上硬盘剩余空间。

●Windows2000、Windows XP或Win 7操作系统

●Code::Blocks(版本12.11或近似版本,英文版)

三、实验内容

1. 冒泡排序

编写程序,实现如下功能:从键盘上输入整数n(n<=100),再输入n个整数,以冒泡排序算法将n个整数按从小到大的顺序进行排序。

/*example-14.c*/

#include "stdio.h"

int main()

{

int num[100], n, i, j, t;

/*输入整数的数量n*/

printf("Input n(<=100):");

scanf("%d", &n);

/*输入n个整数*/

printf("Input %d numbers:\n", n);

for(i=0; i

scanf("%d", &num[i]);

/*排序前先输出n个整数,检查输入是否有误*/

printf("Before sorting:\n");

for(i=0; i

printf("%d ", num[i]);

printf("\n");

/*按从小到大的顺序进行冒泡排序*/

/*输出排序后的数据*/

printf("After sorting:\n");

for(i=0; i

printf("%d ", num[i]);

return 0;

}

2. 选择排序

编写程序,实现如下功能:从键盘上输入整数n(n<=100),再输入n个整数,选择泡排序算法将n个整数按从小到大的顺序进行排序。

/*example-15.c*/

#include "stdio.h"

int main()

{

int num[100], n, i, j, t;

/*输入整数的数量n*/

printf("Input n(<=100):");

scanf("%d", &n);

/*输入n个整数*/

printf("Input %d numbers:\n", n);

for(i=0; i

scanf("%d", &num[i]);

/*排序前先输出n个整数,检查输入是否有误*/

printf("Before sorting:\n");

for(i=0; i

printf("%d ", num[i]);

printf("\n");

/*按从小到大的顺序进行选择排序*/

/*输出排序后的数据*/

printf("After sorting:\n");

for(i=0; i

printf("%d ", num[i]);

return 0;

}

3. 矩阵

在以下程序的横线中填上适当的语句或表达式,并上机运行。

下列程序定义了N×N的二维数组,并已在主函数中复制,如下所示。请求出该二维数组周边元素的平均值。

0 1 2 7 9

1 9 7 4 5

2 3 8 3 1

4 5 6 8 2

5 9 1 4 1

该矩阵的周边元素是第0行、第4行、第0列和第4列上的所有元素。其平均值为3.375。

/*example-16.c*/

#include

#define N 5

main()

{

/*二维数组赋初值*/

int a[N][N] = {{0,1,2,7,9}, {1,9,7,4,5}, {2,3,8,3,1},

{4,5,6,8,2}, {5,9,1,4,1}};

int i, j;

/*sum存放累加和,ave存放平均值*/

float sum, ave;

/*清零*/

/*累加第0行的元素*/

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

/*累加第N-1行的元素*/

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

/*累加第0列的元素*/

for(i = 1; i < N - 1; i++)

/*累加第N-1列的元素*/

for(i = 1; i < N - 1; i++)

/*求平均值*/

printf("The average is: %f\n", ave);

}

【解题提示】

注意四个角上元素,a[0][0]既属于第0行又属于第0列,a[0][N-1]既属于第0行又属于第N-1列,a[N-1][0]既属于第N-1行又属于第0列,a[N-1][N-1]既属于第N-1行又属于第N-1列,不要累加两次。

4. 字符串操作

从键盘上输入两个字符串str1和str2,若str1>str2,则将str2连接到str1的后面;若相