gpt4 book ai didi

C++在数组或字符串中插入字符

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:45:30 24 4
gpt4 key购买 nike

我有这部分代码:

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) ;

如何将这些括号插入到原始输入中?谢谢。顺便说一句,我真的需要将它存储在一个新的数组或字符串中。我只是不知道如何插入这些括号。

最佳答案

您可以从后面开始写入一个不同的数组,而不是将新项目插入到原始输入中。

  • 当您看到分号或运算符时,在其后添加右括号
  • 每次插入右括号时,count 变量都会增加一个
  • 否则,将字符复制到输出中
  • 到达= 符号后,在其前面插入count 个左括号
  • 通过反转字符串产生最终输出

如果您遵循此算法,中间输出将如下所示:

;)b/)a-)z*)y+)x(((((=x

此数据进入单独的 char 数组或 std::string

当你反转它时,输出就变成了你想要的:

x=((((x)+y)*z)-a)/b);

如果需要,您可以将反转后的数据写回原始缓冲区。

关于C++在数组或字符串中插入字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22393499/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com