正文

练习:将递归函数(testk())改写成非递归(test())2006-06-19 02:37:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/bclz/15980.html

分享到:

#include <cstdlib>
#include <iostream>
#include <stack>

using namespace std;

typedef stack<int> ints;
typedef deque<char>  chars;

int pn(int x,int n);

//习题1   将递归函数(testk())改写成非递归(test()) 
void testk (int &sum)
{
     int x;
     cin>>x;
     if(x==0)  sum=0;
     else{testk(sum);sum+=x;}
     cout<<sum<<endl;
}

void test(int &sum)
{
     ints L;
     int x=1;
     sum=0;
     while(x!=0)
     {
         cin>>x;
         L.push(x);
     }
     while(!L.empty())
     {
         sum+=L.top();
         L.pop();
         cout<<sum<<endl;
      }   
}

阅读(2697) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册