- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指针实验-陈正宁-2015123349
淮海工学院计算机科学系
实验报告书
课程名: 《C语言程序设计》
题 目: 实验9 指针
班 级: 软嵌151
学 号: 2015123349
姓 名: 陈正宁
实验内容或题目
(1)设计一个程序,将两个变量的值进行交换,要求通过函数和指针实现。
具体要求:编写一个函数swap(int *p,int *q),交换两个参数指针所指的数据,再编写main主函数,通过调用swap()函数将两个变量的值进行交换。设计一个程序,用选择法或冒泡法将若干字符串按字母顺序进行排序。要求用函数和指针完成。
具体要求:编写一个函数strsort(char *p[],int n),对一组给定的字符串进行排序(非递减)。其中p的每一个元素为一个字符串指针,长度n。最后编写main主函数对下列单词进行排序后输出:include,define,main,if,else,for,while,switch,break,continue。⑴ 进一步掌握指针的概念,会定义和使用指针变量。
⑵ 能正确地使用数组的指针和指向数组的指针变量。
⑶ 能正确地使用字符串的指针和指向字符串的指针变量。
实验步骤与源程序
⑴ 实验步骤
、
、
、
(4)、
(5-1)、
(5-2)、
(5-3)、
⑵ 源代码
(1)、
#include stdio.h
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,pointer_2); //函数调用,指针作为实参
printf(\n则交换以后为:%d %d\n,a,b);
}
(2)、
#includestdio.h
#includestring.h
int main()
{
char a[255]={\0},b[225]={\0};
printf(请输入第一个字符串:);
gets(a);
printf(请输入第二个字符串:);
gets(b);
int i;
if(strlen(a)==strlen(b))
{
for(i=0;i(int)strlen(a);i++)
if(a[i]!=b[i])
break;
}
if(i==(int)strlen(a))
printf(两个字符串相同\n);
else
printf(两个字符串不相同\n);
}
(3)、
#includestdio.h
#includestring.h
void strsort(char *p[])
{
int i,j;
char *temp;
for(i=0;i9;i++)//注意是i9
{
for(j=0;j9;j++)//注意是j9,因为下面要+1和后面的那个字符串比较
{
if(strcmp(p[j],p[j+1])0)//字符串比较:0表示前面的字符串比后面的大则交换
{
temp=p[j];
p[j]=p[j+1];
p[j+1]=temp;
}
}
}
}
void print(char *p[])
{
int i;
for(i=0;i10;i++)
{
printf(%s ,p[i]);
}
}
int main()
{
char*p[]={include,define,main,if,else,for,while,switch,break,continue};
printf(原来的序列是:\n);
print(p);
strsort(p);
printf(\n排序后的序列是:\
文档评论(0)