1.将下列递推过程改为递归过程
void ditui(int n){
int i = n;
while(i > 1){
printf(i--);
}
}
void digui(int n){
if(n > 1){
printf(n);
ditui(n - 1);
}
}
2.把递归过程改为非递归过程
void test(int &sum){
int x;
scanf(x);
if(x == 0)
sum = 0;
else{
test(sum);
sum += x;
}
printf(sum);
}
void test(int &sum)
{
Stack s;
InitStack(s);
int x;
do{
cin>>x;
Push(s,x);
}while(x>0);
while(!StackEmpty(s)){
Pop(s,x);
sum+=x;
cout<<sum<<endl;
}
DestoryStack(s);
}