严蔚敏数据结构完整答案

严蔚敏数据结构完整答案

ID:6299280

大小:274.50 KB

页数:117页

时间:2018-01-09

严蔚敏数据结构完整答案_第1页
严蔚敏数据结构完整答案_第2页
严蔚敏数据结构完整答案_第3页
严蔚敏数据结构完整答案_第4页
严蔚敏数据结构完整答案_第5页
资源描述:

《严蔚敏数据结构完整答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、严蔚敏《数据结构(C语言版)习题集》答案第一章绪论1.16voidprint_descending(intx,inty,intz)//按从大到小顺序输出三个数{  scanf("%d,%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;  i

2、f(k<2

3、

4、m<0)returnERROR;  if(m

5、

6、m==k)f=1;  else  {  for(i=0;i<=k-2;i++)temp[i]=0;  temp[k-1]=1;temp[k]=1;//初始化  sum=1;  j=0;  for(i=k+1;i<=m;i++,j++)//求出序列第k至第m个元素的值    temp[i]=2*sum-temp[j];  f=temp[m];  }  returnOK;}//fib分析:k阶斐波那契序列的第m项的值f[m]=f[m-1]+f[m-2]+.....

7、.+f[m-k]      =f[m-1]+f[m-2]+......+f[m-k]+f[m-k-1]-f[m-k-1]      =2*f[m-1]-f[m-k-1]所以上述算法的时间复杂度仅为O(m).如果采用递归设计,将达到O(k^m).即使采用暂存中间结果的方法,也将达到O(m^2).  1.18typedefstruct{              char*sport;              enum{male,female}gender;              charschoolname;//校名为'A','B','C','D'或'E'    

8、          char*result;              intscore;            }resulttype;typedefstruct{              intmalescore;              intfemalescore;              inttotalscore;            }scoretype;voidsummary(resulttyperesult[])//求各校的男女总分和团体总分,假设结果已经储存在result[]数组中{  scoretypescore[MAXSIZE];  i

9、=0;  while(result[i].sport!=NULL)  {  switch(result[i].schoolname)  {    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[0].totalscore+

10、=result[i].score;      if(result[i].gender==0)score[0].malescore+=result[i].score;      elsescore[0].femalescore+=result[i].score;      break;    ……  ……  ……  }  i++;  }  for(i=0;i<5;i++)  {  printf("School%d:",i);  printf("Totalscoreofmale:%d",score[i].malescore);  printf("Totalscor

11、eoffemale:%d",score[i].femalescore);  printf("Totalscoreofall:%d",score[i].totalscore);  }}//summary1.19Statusalgo119(inta[ARRSIZE])//求i!*2^i序列的值且不超过maxint{  last=1;  for(i=1;i<=ARRSIZE;i++)  {  a[i-1]=last*2*i;  if((a[i-1]/last)!=(2*i))reurnOVERFLOW;  last=a[i-1];  retur

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。