思路
①首先读入字符串长度 n 和字符串 s;
②然后统计加号和减号的个数 jj 和乘号和除号的个数 cc 。
③输出。如果 s[i] 为数字或+-*/则直接输出,如果 s[i] 为乘号或除号,当前乘号和除号数量 dc 加1, dc 即为其运算顺序。如果 s[i] 为加号或减号,当前加号和减号数量 dj 加1, cc+dj 即为其运算顺序。
代码
using namespace std;
int n,jj,cc,dj,dc;
string s;
int main()
{
cin>>n>>s;
for(int i=0;i<n;i++)
{
if(s[i]=='*'||s[i]=='/')
{
cc++;//加号和减号的个数
}
if(s[i]=='+'||s[i]=='-')
{
jj++;//乘号和除号的个数
}
}
for(int i=0;i<n;i++)
{
cout<<s[i];
if(s[i]=='*'||s[i]=='/')
{
dc++;//当前乘号和除号数量
cout<<'['<<dc<<']';
}
if(s[i]=='+'||s[i]=='-')
{
dj++;//当前加号和减号数量
cout<<'['<<cc+dj<<']';
}
}
return 0;
}