资源描述:
《严蔚敏版C语言数据结构习题集答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、说明:1.本文是对严蔚敏《数据结构(c语言版)习题集》一书中所有算法设计题目的解决方案,主要作者为kaoyan.com计算机版版主一具.以下网友:siice,龙抬头,iamkent,zames,birdthinking等为答案的修订和完善工作提出了宝贵意见,在此表示感谢;2.本解答中的所有算法均采用类c语言描述,设计原则为面向交流、面向阅读,作者不保证程序能够上机正常运行(这种保证实际上也没有任何意义);3.本解答原则上只给出源代码以及必要的注释,对于一些难度较高或思路特殊的题目将给出简要的分析说明,对于作者无
2、法解决的题目将给出必要的讨论.目前尚未解决的题目有:5.20,10.40;4.请读者在自己已经解决了某个题目或进行了充分的思考之后,再参考本解答,以保证复习效果;5.由于作者水平所限,本解答中一定存在不少这样或者那样的错误和不足,希望读者们在阅读中多动脑、勤思考,争取发现和纠正这些错误,写出更好的算法来.请将你发现的错误或其它值得改进之处向作者报告:yi-ju@263.net第一章绪论1.16voidprint_descending(intx,inty,intz)//按从大到小顺序输出三个数{scanf("%d
3、,%d,%d",&x,&y,&z);if(xy;//<->为表示交换的双目运算符,以下同if(yz;if(xy;//冒泡排序printf("%d%d%d",x,y,z);}//print_descending1.17Statusfib(intk,intm,int&f)//求k阶斐波那契序列的第m项的值f{ inttempd; if(k<2
4、
5、m<0)returnERROR; if(m6、 for(i=0;i<=k-2;i++)temp[i]=0; temp[k-1]=1;//初始化 for(i=k;i<=m;i++)//求出序列第k至第m个元素的值 { sum=0; for(j=i-k;j
7、,则时间复杂度将高达O(k^m).1.18typedefstruct{ char*sport; enum{male,female}gender; charschoolname;//校名为'A','B','C','D'或'E' char*result; intscore; }resulttype;typedefstruct{
8、 intmalescore; intfemalescore; inttotalscore; }scoretype;voidsummary(resulttyperesult[])//求各校的男女总分和团体总分,假设结果已经储存在result[]数组中{ scoretypescore; i=0; while(result[i].sport!=NULL) { switch(result[i].school
9、name) { case'A': score[0].totalscore+=result[i].score; if(result[i].gender==0)score[0].malescore+=result[i].score; elsescore[0].femalescore+=result[i].score; break; case'B': score.totalscore+=result[i].score;
10、 if(result[i].gender==0)score.malescore+=result[i].score; elsescore.femalescore+=result[i].score; break; …… …… …… } i++; } for(i=0;i<5;i++) { printf(