【发布时间】:2014-03-13 23:55:46
【问题描述】:
我有这部分代码:
char statement[255];
string result = ""; //or you can use result[299] too
cin.getline(statement,255);
/*
I don't know the code to be inserted here
*/
cout<<statement<<endl;
/*or cout<<result<<endl;*/
现在,我想做的是:
如果用户输入x = x + y * z - a / b ;,我希望输出为
x = ((((( x ) + y ) * z ) - a ) / b) ;
如何将这些括号插入到原始输入中?谢谢。顺便说一句,我真的需要将它存储在一个新的数组或字符串中。我只是不知道如何插入这些括号。
【问题讨论】:
-
std::string有一个插入方法en.cppreference.com/w/cpp/string/basic_string/insert -
我将如何根据给定的插入它?我真的不知道我将如何实现它。
-
提示:搜索标记化和解析(递归下降解析器,解析器生成器)。
-
不应该是 (((x+y)*z)-a)/b 还是最大应该是 ((((x+y)*z)-a)/b) , 为什么需要在 x 周围加上一对括号?
-
可以是 ((((x+y)*z)-a)/b) 。我该怎么做?
标签: c++ arrays string character