本文主要是介绍括号匹配问题(百练ID3704),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
描述注意:cin.getline(str,100)最多只能输入99个字符!
((ABCD(x) )(rttyy())sss)(
((ABCD(x) $$ )(rttyy())sss)(? ?$
#include<iostream> #include<stack> #include<string> #include<cstring> using namespace std; char a[101]; int main() {stack<int>s;string str;while (cin>>str){memset(a, ' ', 100);for (int i = 0; i < str.size();++i){ if (str[i] == '(')s.push(i);if (str[i] == ')'){if (s.empty()){a[i] = '?';}else{s.pop();}}}while (!s.empty()){a[s.top()] = '$';s.pop();}cout << str << endl;cout << a <<endl;}return 0; }
这篇关于括号匹配问题(百练ID3704)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!