|
#include<iostream>
#include<stack>
using namespace std;
stack<int>sk;
char ep[101];
int main(){
string str;//接收字符串
while(cin>>str) //输入
{
cout<<str<<'\n';
for(int i=0;i<str.size();i++)
{
if(str[i]=='(')
{
sk.push(i);//放入当前的位置。
ep[i]='$';//用到了栈,也用到了数组。
}else if(str[i]==')'){
if(!sk.empty())
{
ep[sk.top()]=' ';
sk.pop();
ep[i]=' ';
}else{
ep[i]='?';
}
}else{
ep[i]=' ';
}
}
for(int i=0;i<str.size();i++)
cout<<ep[i];
cout<<'\n';
while(!sk.empty()) sk.pop();
}
return 0;
}
|
|