c语言学习上机实验8

2018-11-30 19:01

实验八 指针程序设计(二)

一.实验目的

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.编写一个程序,其中包含一个子函数,功能为将字符串s2中所有未出现在s1中的

字母添加到s1的末尾,然后输出。要求:

?

子函数形式为:char *addat(char *s1,char *s2);即:使用指针型函数

的方式定义子函数,函数返回值为字符串s1的地址。 运行结果示例:

练习4.编写一个程序,功能为读入多个正整数(以输入-1作为结束标志),输出其中的最

大值、最小值。

?

要求:所有数据均不得使用整型变量,而全部使用malloc( )函数。

提示:申请创建3个空间,分别用一个指针加以指向(例如:int *p,*max,*min;)。

?

练习5.编写一个程序,其中包含一个子函数,功能为统计一个字符串在另一个字符串中出现的次数。要求:

?

子函数形式为:int strat(char *a,char *sub); 主函数中使用函数指针变量的方式调用子函数;

?

运行结果示例:

练习6.用指针数组的处理方法编写一个程序,其中包含一个子函数,功能为从键盘输入四

个字符串,找出其值最小的一个字符串。 子函数形式为:int min(char *p[],int n);

(其中:n为字符串的个数,子函数返回值为最小字符串的指针数组元素的下标) 运行结果示例:

答案

1.t

#include void main() {

int i=0,j=0;

char c,*a=\ cout<<\字符串为:\ cout<<\输入字符:\ cin>>c;

cout<<\字符\出现的次数:\ for(i=0;i<24;i++) if(*(a+i)==c) j++; cout<

#include #include #include

void replace(char *str,char c1,char c2) { int i;

for(i=0;i<20;i++) if(*(str+i)==c1) *(str+i)=c2;

}

void main() {

char s[20],s1,s2,*p; p=s;

printf(\输入字符串:\ gets(s);

cout<<\输入被替换的字符:\ cin>>s1;

cout<<\输入新字符:\ cin>>s2;

cout<<\新的字符串:\ replace(p,s1,s2); cout<

#include #include #include

char *addat(char *s1,char *s2) {

char *p; while (*s2) {p=s1;

while(*p&&*s2!=*p)p++; if((p-s1)==strlen(s1)) { *p=*s2; *(p+1)='/0'; } s2++; }

return s1; }

void main() {

char s1[20],s2[20];

printf(\输入字符串s1:\ gets(s1);

printf(\输入字符串s2:\ gets(s2);

cout<<\结果:\} 4.

#include #include void main() {

int *p,*max,*min;

p=(int*)malloc(sizeof(int)); max=(int*)malloc(sizeof(int)); min=(int*)malloc(sizeof(int));

cout<<\输入一组正整数(以-1结束):\ cin>>*p;

*max=*min=*p; while(*p!=-1) { cin>>*p; if(*p>*max)*max=*p; if(*p<*min&&*p>0)*min=*p; }

cout<<\最大值:\ cout<<\最小值:\ free(p); free(max); free(min); } 5.

#include #include #include

int strat(char *a,char *sub) {

int i,k,x,y,t=0; x=strlen(a); y=strlen(sub); for(i=0;i


c语言学习上机实验8.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第三讲统计指数习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: