广工数据结构参考答案全(anyview).docVIP

  • 60
  • 0
  • 约3.86万字
  • 约 42页
  • 2016-01-08 发布于湖北
  • 举报
广工数据结构参考答案全(anyview).doc

广工数据结构anyview 80道上机题 1. void Descend(int x, int y, int z) /* 按从大到小顺序返回x,y和z的值 */ { int t; if(xz) { t=z; z=x; x=t; } if(yz) { t=y; y=z; z=t; } if(yx) { t=x; x=y; y=t; } } 2. Status Fibonacci(int k, int m, int f) /* 求k阶斐波那契序列的第m项的值f */ { int *a; int i=1; if(k2||m0) return ERROR; if(mk) { if(m==k-1) f=1; else f=0; return OK; } a=(int*)malloc((m+1)*sizeof(int)); for(i=0;ik-1;i++) a[i]=0; i=k+1; a[k-1]=1; a[k]=1; while(i=m) { a[i]=2*a[i-1]-a[i-k-1]; i++; } f=a[m]; return OK; } 3. void Scores(ResultType *result, ScoreType *score) /* 求各校的男、女总分和团体总分, 并依次存入数组score */ /* 假设比赛结果已经储存在result[ ]数组中, */ /* 并以特殊记录 {, male, , , 0 }(域scorce=0)*/ /* 表示结束 */ { int i; for(i=0;result[i].score!=0;i++) { score[result[i].schoolname-A].totalscore+=result[i].score; if(result[i].gender==male) score[result[i].schoolname-A].malescore+=result[i].score; else score[result[i].schoolname-A].femalescore+=result[i].score; } } 4 Status Series(int ARRSIZE, int a[]) /* 求i!*2^i序列的值并依次存入长度为ARRSIZE的数组a; */ /* 若所有值均不超过MAXINT,则返回OK,否则返回OVERFLOW */ { int i=1,b=1,na=1; while(i=ARRSIZE) { na*=i;b*=2; if(na*bMAXINT) return OVERFLOW; a[i-1]=na*b; i++; if(iARRSIZE+1) return OVERFLOW; } return OK; } 5 float Polynomial(int n, int a[], float x) /* 求一元多项式的值P(x)。 */ /* 数组a的元素a[i]为i次项的系数,i=0,...,n */ { float ans=a[0],t=1.0; int i=1; while(i=n) { t*=x; ans+=(t*a[i]); i++; } return ans; } 6 void InsertOrderList(SqList L, ElemType x) // 在有序的顺序表 L 中保序插入数据元素 x { int i=L.length-1; while(L.elem[i]x) { L.elem[i+1]=L.elem[i];

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档