指针实验-陈正宁-2015123349讲解

上传人:我** 文档编号:113633185 上传时间:2019-11-09 格式:DOC 页数:21 大小:1.20MB
返回 下载 相关 举报
指针实验-陈正宁-2015123349讲解_第1页
第1页 / 共21页
指针实验-陈正宁-2015123349讲解_第2页
第2页 / 共21页
指针实验-陈正宁-2015123349讲解_第3页
第3页 / 共21页
指针实验-陈正宁-2015123349讲解_第4页
第4页 / 共21页
指针实验-陈正宁-2015123349讲解_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《指针实验-陈正宁-2015123349讲解》由会员分享,可在线阅读,更多相关《指针实验-陈正宁-2015123349讲解(21页珍藏版)》请在金锄头文库上搜索。

1、淮海工学院计算机科学系实验报告书课程名: C语言程序设计 题 目: 实验9 指针 班 级: 软嵌151 学 号: 2015123349 姓 名: 陈正宁 评语:成绩: 指导教师: 批阅时间: 年 月 日1C语言程序设计实验报告1、 实验内容或题目(1)设计一个程序,将两个变量的值进行交换,要求通过函数和指针实现。具体要求:编写一个函数swap(int *p,int *q),交换两个参数指针所指的数据,再编写main主函数,通过调用swap()函数将两个变量的值进行交换。(2)编写一个程序,判断用户输入的两个字符串是否相同,其中字符串可能含有空格等,以回车键表示输入结束。(不允许使用strcmp

2、函数)(3)设计一个程序,用选择法或冒泡法将若干字符串按字母顺序进行排序。要求用函数和指针完成。具体要求:编写一个函数strsort(char *p,int n),对一组给定的字符串进行排序(非递减)。其中p的每一个元素为一个字符串指针,长度n。最后编写main主函数对下列单词进行排序后输出:include,define,main,if,else,for,while,switch,break,continue。(4)教材p291页习题的第11题。(5)教材p292页习题的第12、第15第18题。2、实验目的与要求 进一步掌握指针的概念,会定义和使用指针变量。 能正确地使用数组的指针和指向数组的

3、指针变量。 能正确地使用字符串的指针和指向字符串的指针变量。3、 实验步骤与源程序 实验步骤(1) 、(2) 、(3) 、(4)、(5-1)、(5-2)、(5-3)、 源代码(1)、#include void swap(int *p,int *q) int t; t=*p; *p=*q; *q=t; /交换p1和p2所指向的内容 void main()int a,b;int *pointer_1, *pointer_2;printf(请输入两个数字a b Enter:);scanf(%d%d,&a,&b);pointer_1=&a;pointer_2=&b;swap(pointer_1,poi

4、nter_2); /函数调用,指针作为实参 printf(n则交换以后为:%d %dn,a,b);(2)、#include#includeint main()char a255=0,b225=0;printf(请输入第一个字符串:);gets(a);printf(请输入第二个字符串:);gets(b);int i;if(strlen(a)=strlen(b)for(i=0;i(int)strlen(a);i+)if(ai!=bi)break;if(i=(int)strlen(a)printf(两个字符串相同n);elseprintf(两个字符串不相同n);(3)、#include#includ

5、evoid strsort(char *p) int i,j; char *temp; for(i=0;i9;i+)/注意是i9 for(j=0;j9;j+)/注意是j0)/字符串比较:0表示前面的字符串比后面的大则交换 temp=pj; pj=pj+1; pj+1=temp; void print(char *p) int i; for(i=0;i10;i+) printf(%s ,pi); int main() char*p=include,define,main,if,else,for,while,switch,break,continue; printf(原来的序列是:n); prin

6、t(p); strsort(p); printf(n排序后的序列是:n); print(p); printf(nn); return 0;(4)、#include#includevoid sort(char *s) char *temp; int i,j; for(i=0;i9;i+) for(j=0;j0) temp=*(s+j); *(s+j)=*(s+j+1); *(s+j+1)=temp; void main() int i; char str106, *p10; printf(请输入10个等长的字符串:n); for(i=0;i10;i+) pi=stri; for(i=0;i10;

7、i+) scanf(%s,pi); sort(p); printf(则已经排好序的字符串为:n); for(i=0;i10;i+) printf(%sn,pi); getchar();(5-1)、#include#includevoid sort(char *s) char *temp; int i,j; for(i=0;i9;i+) for(j=0;j0) temp=*(s+j); *(s+j)=*(s+j+1); *(s+j+1)=temp; void main() int i; char str106, *p10; printf(请输入10个不等长的字符串:n); for(i=0;i10

8、;i+) pi=stri; for(i=0;i10;i+) scanf(%s,pi); sort(p); printf(则已经排好序的字符串为:n); for(i=0;i10;i+) printf(%sn,pi); getchar();(5-2)、#include int main()void avsco(float *,float *); void avcour1(char (*)10,float *); void fali2(char course510,int num,float *pscore,float aver4); void good(char course510,int num

9、4,float *pscore,float aver4); int i,j,*pnum,num4; float score45,aver4,*pscore,*paver; char course510,(*pcourse)10;printf(Please input course:);pcourse=course;for (i=0;i5;i+)scanf(%s,coursei);printf(Please input NO. and scores:n);printf(NO.);for (i=0;i5;i+)printf( %s,coursei);printf(n);pscore=&score0

10、0;pnum=&num0;for (i=0;i4;i+)scanf(%d,pnum+i);for (j=0;j5;j+)scanf(%f,pscore+5*i+j);paver=&aver0;printf(nn); avsco(pscore,paver); / 求出每个学生的平均成绩 avcour1(pcourse,pscore); / 求出第一门课的平均成绩 printf(nn);fali2(pcourse,pnum,pscore,paver); / 找出2门课不及格的学生 printf(nn);good(pcourse,pnum,pscore,paver); / 找出成绩好的学生 return 0;void avsco(float *pscore,float *paver) / 求每个学生的平均成绩的函数int i,j;float sum,average;for (i=0;i4;i+)sum=0.0;for (j=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号