c语言程序设计第五版课后答案谭浩强第八章课后答案.pdfVIP

c语言程序设计第五版课后答案谭浩强第八章课后答案.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

c语⾔程序设计第五版课后答案谭浩强第⼋章课后答案

c语⾔程序设计第五版课后答案谭浩强习题答案

第⼋章善于利⽤指针

本章习题均要求使⽤指针⽅法处理。

1.输⼊3个整数,要求按由⼩到⼤的顺序输出。

解题思路:先获取到三个变量的地址,然后获取三个数据,通过指针进⾏⽐较转换即可

答案:

#includestdio.h

voidswap(int*p_a,int*p_b)

{

inttemp=*p_a;

*p_a=*p_b;

*p_b=temp;

}

intmain()

{

inta,b,c,*p_a=a,*p_b=b,*p_c=c;//获取每个变量空间的地址

if(*p_a*p_b){

swap(p_a,p_b);//通过指针进⾏指向空间内的数据交换

}

if(*p_a*p_c){

swap(p_a,p_c);

}

if(*p_b*p_c){

swap(p_b,p_c);

}}}

return0;

}

2.输⼊3个字符串,要求按由⼩到⼤的顺序输出。

解题思路:字符串的⽐较可以使⽤strcmp函数,返回值0表⽰⼤于,返回值⼩于0表⽰⼩于,返回追等于0表⽰相同。其他的⽐较排序思路

与数字的排序交换没有区别,逐个进⾏⽐较先找出最⼤的,然后找出第⼆⼤的。

答案:

#includestdio.h

intmain()

{

charstr[3][32];

char*p[3];char*p[3];

for(inti=0;i3;i++){

p[i]=str[i];p[i]=str[i];

后边的数字限制缓冲区边界,防⽌缓冲区溢出访问越界

}

让//p[0]和p[1]/p[2]分别进⾏⽐较,找出最⼤的字符串,i+1之后,则让p[1]和p[2]进⾏⽐较,找出第⼆⼤

//i循环总个数-1次,最后⼀个是不需要⽐较的

for(inti=0;i2;i++){

for(intj=i+1;j3;j++){

if(strcmp(p[i],p[j])0){

char*tmp=p[i];p[i]=p[j];p[j]=tmp;

}

}

}}}

return0;

}

3.输⼊10个整数,将其中最⼩的数与第⼀个数对换,把最⼤的数与最后⼀个数对换。

写3个函数:

①输⼈10个数;

②进⾏处理;

③输出10个数。

解题思路:在进⾏数值逐个⽐较的同时找到最⼩值的空间地址以及最⼤值的空间地址,使⽤这两个空间中的数据最终与第⼀和最后数据进⾏

对换即可。

答案:

#includestdio.h

voidinput(int*arry,intlen)

{

for(inti=0;ilen;i++){for(inti=0;ilen;i++){

}

}

voidprint(int*arry,intlen)

{

for(inti=0;ilen;i++){for(inti=0;ilen;i++){

}}

}

voidhandle(int*arry,intlen)

{

intmax_num=arry[0],min_num=arry[0];

int*p_max=NULL,*p_min=NULL;

for(inti=1;ilen;i++){

if(min_numarry[i]){//逐个⽐对后找出最⼩值

min_num=arry[i];

p_min=arry[i];//逐个⽐对后找到最⼩值的空间地址

}

if(max_numarry[i]){//逐个⽐对后找出最⼤值

max_num=arry[i];

p_max=arry[i];//逐个⽐对后找到最⼤值的空间地址

}

}

inttmp;

tmp=*p_min;*p_min=arry[0];arry[0]=tmp;//最⼩值与第⼀个数据交换

tmp=*p_max;*p_max

文档评论(0)

. + 关注
官方认证
文档贡献者

专注于职业教育考试,学历提升。

版权声明书
用户编号:8032132030000054
认证主体社旗县清显文具店
IP属地河南
统一社会信用代码/组织机构代码
92411327MA45REK87Q

1亿VIP精品文档

相关文档