(2)
?x??xii?0nnn?1?1/?x?1?
?
?x?1,n?0?
(3)
?2i?1ni?1?2n?1
?n?1? ?n?1?
(4)
2??2i?1?n ?i?1
1、16 试写一算法,自大至小依次输出顺序读入得三个整数X,Y与Z得值
解:
int max3(int x,int y,int z) { }
1、17 已知k阶斐波那契序列得定义为
if(x>y)
if(x>z) return x; else return z; if(y>z) return y; else return z;
else
f0?0,f1?0,…,fk?2?0,fk?1?1; fn?fn?1?fn?2???fn?k,n?k,k?1,?
试编写求k阶斐波那契序列得第m项值得函数算法,k与m均以值调用得形式在函数参数表中出现。
解:k>0为阶数,n为数列得第n项 int Fibonacci(int k,int n) {
if(k<1) exit(OVERFLOW); int *p,x; p=new int[k+1]; if(!p) exit(OVERFLOW); int i,j;
for(i=0;i } for(i=k+1;i return p[k]; x=p[0]; for(j=0;j } 1、18 假设有A,B,C,D,E五个高等院校进行田径对抗赛,各院校得单项成绩均已存入计算机,并构成一张表,表中每一行得形式为牽駘珐猻鉤宝潷。 项目名称 解: typedef enum{A,B,C,D,E} SchoolName; typedef enum{Female,Male} SexType; typedef struct{ char event[3]; //项目 SexType sex; SchoolName school; int score; 性别 校名 成绩 得分 编写算法,处理上述表格,以统计各院校得男、女总分与团体总分,并输出。 } Component; typedef struct{ int MaleSum; //男团总分 int FemaleSum; //女团总分 int TotalSum; //团体总分 } Sum; Sum SumScore(SchoolName sn,Component a[],int n) { } 1、19 试编写算法,计算i!*2得值并存入数组a[0、、arrsize-1]得第i-1个分量中(i=1,2,…,n)。假设计算机中允许得整数最大值为maxint,则当n>arrsize或对某个kk?1?k?n?,使k!?2iSum temp; temp、MaleSum=0; temp、FemaleSum=0; temp、TotalSum=0; int i; for(i=0;i temp、TotalSum=temp、MaleSum+temp、FemaleSum; return temp; if(a[i]、school==sn){ } if(a[i]、sex==Male) temp、MaleSum+=a[i]、score; if(a[i]、sex==Female) temp、FemaleSum+=a[i]、score; ?maxint时, 应按出错处理。注意选择您认为较好得出错处理方法。糁縟園虧荭紙复。 解: #include int fun(int i); int main() { } 1、20 试编写算法求一元多项式得值Pnint i,k; int a[ArrSize]; cout<<\cin>>k; if(k>ArrSize-1) exit(0); for(i=0;i<=k;i++){ } for(i=0;i<=k;i++){ } return 0;