首页 > 代码库 > C++primer 9.6节练习
C++primer 9.6节练习
练习9.52
1 #include<iostream> 2 #include<string> 3 #include<vector> 4 #include <stack> 5 6 using namespace std; 7 8 //本来是想实现一个计算功能的,可是对于字符串转数值计算方面实在无能为力,等学的多了再回来看看 9 int main() 10 { 11 string str1{ "(1 + ((2 + 3) * 5))" }; 12 bool count = true; 13 stack<char> str; 14 string str2; 15 for (string::size_type it = 0; it != str1.size(); ++it) 16 { 17 if (str1[it] == ‘(‘) 18 count = true; 19 if (str1[it] == ‘)‘) 20 count = false; 21 if (count) 22 str.push(str1[it]); 23 if (!count) 24 { 25 while (str.top() != ‘(‘) 26 { 27 str2 += str.top(); 28 str.pop(); 29 } 30 str.pop(); 31 count = true; 32 } 33 } 34 cout << str2 << endl; 35 system("pause"); 36 return 0; 37 }
C++primer 9.6节练习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。