(实验四)符数组与字符串
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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的后面;若相