#include <bits/stdc++.h>
using namespace std;
void printStack(stack<string> myStack) {
stack<string> helperStack;
while (!myStack.empty()) {
helperStack.push(myStack.top());
myStack.pop();
}
while (!helperStack.empty()) {
cout << helperStack.top() << " ";
helperStack.pop();
}
}
int main(){
stack<string> MyStack;
string t;
while (cin >> t){
MyStack.push(t);
cout << "您已输入单词" << MyStack.top() << endl;
}
if (MyStack.empty()) cout << "没有单词哦!" << endl;
else{
cout << "单词数量:" << MyStack.size() << endl;
cout << "输入单词为:" << endl;
printStack(MyStack);
cout << endl;
cout << "准备清理单词" << endl;
while (!MyStack.empty()){
cout << "正在清理单词" << MyStack.top() << endl;
MyStack.pop();
}
cout << "清理完成" << endl;
}
return 0;
}
这段程序定义了一个函数printStack
和一个main
函数。main
函数中首先定义了一个stack<string>
类型的栈MyStack
和一个字符串类型的变量t
。然后通过while
循环,不断地读入字符串,将其压入栈中,并输出提示语句。读入字符串的操作可以通过键盘输入或者重定向输入文件来完成。
当读入完所有的字符串后,通过if-else
判断栈是否为空。如果栈为空,则输出相应提示语句;否则,分别输出栈的大小和栈中存储的所有字符串,同时调用printStack
函数来完成输出操作。
printStack
函数的作用是将输入的栈myStack
中的所有元素倒序输出。为了实现这一目的,我们可以使用一个辅助栈helperStack
,将原栈中所有元素依次弹出并压入辅助栈中,然后再依次弹出辅助栈中的元素并输出即可。文章来源:https://www.toymoban.com/news/detail-693732.html
最后,在main
函数中通过while
循环将栈中所有元素依次弹出,输出提示语句,完成清理操作。文章来源地址https://www.toymoban.com/news/detail-693732.html
到了这里,关于一个单词C++程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!