实验八 指针程序设计(二)
一.实验目的
1. 掌握指针的基本概念与操作方法;
2. 掌握字符指针、指针函数访问方式的程序设计。
二.实验环境
1. 硬件:PII以上计算机;
2. 软件:Windows、Visual C++ 6.0;
3. 其它:一张软盘或者U盘等可移动的存储设备。
三.实验内容
练习1.用指针变量的处理方法编写一个程序,功能为统计某一字符在字符串“This is a c/c++ program.”中出现的次数。
要求:程序中不得出现数组。
运行结果示例:
练习2.用指针变量的处理方法编写一个程序,其中包含一个子函数,功能为将字符串s中的字符c1用字符c2替换。
子函数形式为:void replace(char *str,char c1,char c2);
运行结果示例:
练习3.用指针数组的处理方法编写一个程序,其中包含一个子函数,功能为从键盘输入四个字符串,找出其值最小的一个字符串。
子函数形式为:int min(char *p[],int n);
(其中:n为字符串的个数,子函数返回值为最小字符串的指针数组元素的下标)
运行结果示例:
练习4.编写一个程序,其中包含一个子函数,功能为统计一个字符串在另一个字符串中出现的次数。要求:
l 子函数形式为:int strat(char *a,char*sub);
l 主函数中使用函数指针变量的方式调用子函数;
运行结果示例:
练习5.利用随机数生成一个M*M的二维数组(数据在0~20范围),以4*4矩阵为例:
⑴ 分别以上三角和下三角形式显示矩阵;
子函数形式:void out(int *p[]);
⑵ 求出矩阵两条对角线上所有元素之和;
子函数形式:void add(int *p[]);
⑶ 将矩阵的第一行与最后一行对应元素交换位置存储,并输出新矩阵的结果。
子函数形式:void exchange(int *p[]);
程序要求:程序中对数组的处理全部使用指针数组方式。
运行结果示例:
*练习6.编写一个程序,其中包含一个子函数,功能为将a,b两个字符串中共有的字符存储至数组c中并输出。要求:
l 子函数形式为:void seek(char *a,*b,*c);
指定测试数据:
练习1:
#include"iostream.h"
#include"stdio.h"
void m