#include<stdio.h>
#include<stack>
using namespace std;
stack <int>s;
int main (){
char in[101];
char out[101];
int i;
while(gets(in)){
for(i=0;in[i]!=0;i++){
if(in[i]=='('){
s.push(i);
out[i]=' ';
}
else if(in[i]==')'){
if(s.empty()==false){
out[i]=' ';
s.pop();
}
else out[i]='?';
}
else out[i]=' ';
}
while(s.empty()==false){
out[s.top()]='$';
s.pop();
}
out[i]=0;
puts(in);
puts(out);
}
return 0;
#include<stack>
using namespace std;
stack <int>s;
int main (){
char in[101];
char out[101];
int i;
while(gets(in)){
for(i=0;in[i]!=0;i++){
if(in[i]=='('){
s.push(i);
out[i]=' ';
}
else if(in[i]==')'){
if(s.empty()==false){
out[i]=' ';
s.pop();
}
else out[i]='?';
}
else out[i]=' ';
}
while(s.empty()==false){
out[s.top()]='$';
s.pop();
}
out[i]=0;
puts(in);
puts(out);
}
return 0;
}
注意:s.empty()==false表示非空情况
puts 包含\n的含义