視頻網(wǎng)站如何推廣電商網(wǎng)站分析
Description
C++中已經(jīng)自帶堆棧對象stack,無需編寫堆棧操作的具體實(shí)現(xiàn)代碼。
本題目主要幫助大家熟悉stack對象的使用,然后實(shí)現(xiàn)字符串的逆序輸出
輸入一個(gè)字符串,按字符按輸入順序壓入堆棧,然后根據(jù)堆棧后進(jìn)先出的特點(diǎn),做逆序輸出
stack類使用的參考代碼
- 包含頭文件
<stack>
:?#include <stack>
- 創(chuàng)建一個(gè)堆棧對象
s
(注意stack
是模板類):stack <char> s; //堆棧的數(shù)據(jù)類型是字符型
- 把一個(gè)字符
ct
壓入堆棧:s.push(ct);
- 把棧頂元素彈出:
s.pop();
- 獲取棧頂元素,放入變量
c2
:c2 = s.top();
- 判斷堆棧是否空:
s.empty()
,如果為空則函數(shù)返回true
,如果不空則返回false
Input
第一行輸入t
,表示有t
個(gè)測試實(shí)例 第二起,每一行輸入一個(gè)字符串,注意字符串不包含空格
字符串的輸入可以考慮以下代碼:
#include <string>
int main()
{ string str;int len;cin >> str; //把輸入的字符串保存在變量str中l(wèi)en = str.length() //獲取輸入字符串的長度
}
Output
每行逆序輸出每一個(gè)字符串
Sample
Input
2 abcdef aabbcc
Output
fedcba ccbbaa
AC代碼:
#include <stack>
#include <iostream>
#include <cstring>
using namespace std;
//答案僅供參考,請勿直接復(fù)制粘貼
int main() {int t;cin >> t;string str;int len;while (t--) {stack <char> s;cin >> str;len = str.length();for (int i = 0; i < len; i++) {s.push(str[i]);}if (!s.empty()) {for (int i = 0; i < len; i++) {cout << s.top();s.pop();}cout << endl;}}
}