数据结构

位置:IT落伍者 >> 数据结构 >> 浏览文章

数据结构考研分类复习真题 第三章 答案[28]


发布日期:2019年02月21日
 
数据结构考研分类复习真题 第三章 答案[28]

[题目分析]这是以读入数据的顺序为相反顺序进行累乘问题可将读入数据放入栈中到输入结束将栈中数据退出进行累乘累乘的初值为

PROC test;

CONST maxsize=;

VAR s:ARRAY[maxsize] OF integer topsuma:integer;

[top:=; sum:=;//

read(a);

WHILE a<> DO

[top:=top+; s[top]:=a; read(a); ]

write(sum:);

WHILE top> DO

[sum:=sum*s[top]; top:=top; write(sum:);]

ENDP;

[题目分析] 本题与第题基本相同不同之处就是求和另外用C描述

int test;

{int xsum=top=s[];

scanf(%d&x)

while (x<>)

{s[++top]:=a; scanf(%d&x); }

printf(sum:);

while (top)

{sum+=s[top]; printf(sum:); }

};

int Ack(int mn)

{if (m==) return(n+);

else if(m!=&&n==) return(Ack(m));

else return(Ack(mAck(mm));

}//算法结束

)Ack()的计算过程

Ack()=Ack(Ack()) //因m<>n<>而得

=Ack(Ack()) //因m<>n=而得

=Ack(Ack(Ack())) // 因m<>n<>而得

= Ack(Ack(Ack())) // 因m<>n=而得

=Ack(Ack()) // 因m=而得

=Ack() // 因m=而得

=Ack(Ack()) //因m<>n<>而得

= Ack(Ack(Ack())) //因m<>n<>而得

= Ack(Ack(Ack(Ack()))) //因m<>n<>而得

= Ack(Ack(Ack(Ack()))) //因m<>n=而得

= Ack(Ack(Ack())) //因m=而得

= Ack(Ack()) //因m=而得

= Ack() //因n=而得

= //因n=而得

)int Ackerman( int m int n)

{int akm[M][N];int ij;

for(j=;j<N;j++) akm[][j];=j+;

for(i=;i<m;i++)

{akm[i][]=akm[i][];

for(j=;j<N;j++)

akm[i][j]=akm[i][akm[i][j]];

}

return(akm[m][n]);

}//算法结束

[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []

               

上一篇:数据结构考研分类复习真题 第三章 答案[27]

下一篇:数据结构考研分类复习真题 第三章 答案[29]