//逆序输出

#include <iostream>
#include <stack>
#include <vector>
 
using namespace std;
 
int reverse(int num);
int reverse(stack<char,vector<char> > a);
 
int main()
{
     int num=123456789;
     char c;
     stack<char,vector<char> > a;   //指定stack采用vector为容器类型,默认为deque 
     
     cout <<num <<endl;
     cout <<reverse(num) <<endl;
     
     cout <<"请输入字符串(以#结束):" <<endl; 
     do
     {
          cin >>c;
          if(c!='#') a.push(c);   //将输入的字符顺序压入栈 
     }while(c!='#');
     reverse(a);
     
     system("pause");
     return 0;
}
 
//将整数反转并返回 
int reverse(int num)
{
     int i=0;
     while(true)
     {
           i=i*10+num%10;
           num=num/10; 
           if(num==0)break;
     }
     return i;
} 
 
//逆序输出字符   先进后出,后进先出 
int reverse(stack<char,vector<char> > a)
{
    while(!a.empty())
    {
          cout <<a.top();  //获取栈顶元素 
          a.pop();   //弹出 
    }
    cout <<endl;
    return 0;
}

相关文章:

  • 2022-12-23
  • 2021-09-03
  • 2022-12-23
  • 2022-12-23
  • 2021-04-14
  • 2021-12-24
  • 2022-12-23
  • 2022-02-21
猜你喜欢
  • 2021-06-05
  • 2022-12-23
  • 2022-12-23
  • 2021-06-29
  • 2021-11-19
相关资源
相似解决方案