《华北水利水电大学C语言实验10》由会员分享,可在线阅读,更多相关《华北水利水电大学C语言实验10(3页珍藏版)》请在金锄头文库上搜索。
1、C 语言程序设计实验报告实验 10 使用指针的程序设计(2)班级 2013156 学号 201315613 姓名 吴浩 一、实验目的(1)掌握指针的概念,会定义和使用指针变量;(2)能正确使用字符串的指针和指向字符串的指针变量。(3)能正确使用指向函数的指针变量;(4)了解指向指针的指针的概念及其使用方法。二、实验内容及步骤1从键盘输入一个字符串,实现利用字符指针将字符串的字符顺序逆置并输出。(例如输入 abcdef,输出 fedcba) 。请编写相应的程序代码,并调试运行出正确结果。程序代码:#include #include void main() int i; int length; c
2、har str80; char s; printf(请输入一个字符串:n); scanf(%s,str); length=strlen(str); printf(字符串逆序输出为:n); for(i=length;i0;i-) s=stri-1; printf(%c,s); printf(n); void fun (char *s ) int i ,length; char temp;length = strlen( s );for(i = 0;i #include void main() void MaxString(char(*p)81,char *max,int num); int n,
3、i=0; char str1081,*pt=NULL; printf(请输入几个字符串,以字符串*作为结束标志!:n); while(!strcmp(stri-1,*)=0) gets(stri); i+; n=i; MaxString(str,&pt,n); printf(在您输入的字符串中,最长的字符串为:n); puts(pt); void MaxString(char(*p)81,char *max,int num)/形参二维指针 max用于接收 main()中最长字符串指针的地址 *max=p0; for(int i=1;istrlen(*max) *max=pi;运行结果:3编写在
4、字串 str1 中找出所有非数字的字符串当成一个空格,存入字符数组str2 中(所有数字字符也必须依次存入 str2 中),str1 不变仍为原字串的程序。例如,字符串 str1 为$Ts!47&*s456 a23* +B9k,调用函数 fun 后,字符数组 str2 将存入 47 456 23 9 ,str1 仍然是$Ts!47&*s456 a23* +B9k。程序代码:#include void main() void fun(char str1,char str2); char str180,str280; printf(请输入一串字符串:n); gets(str1); fun(str1
5、,str2); printf(您输入的字符串 str1 为:n); puts(str1); printf(转换后得到的字符串 str2 为:n); puts(str2); printf(转换后,字符串 str1 为:n); puts(str1); void fun(char str1,char str2) char *p=str1; int i=0; while(*p!=0) if(*p9) if(i=0)/当 str1 中第一个字符不是数字字符,并且 str2 中不存储任何元素时,置 str2 首元素为空格 str2i= ; i+; else if(i0&str2i-1!= )/当数组 str2 中元素不是第一个,前一个元素的值不是空格时,并且 str1 中当前对应元素是字符,给 str2 对应元素置空格。 str2i= ; i+; else str2i=*p; i+; p+; str2i=0; /从 str1 到 str2 转换完后,要在 str2 最后位赋值0,作为字符串结束标志,便于在主函数中输出运行结果:3、实验心得学会了定义和使用指针变量,指向字符串的指针变量和指向函数的指针变量感觉有点难,还不能熟练掌握,这部分还要多下工夫学习。