#include <iostream> #include <string> using namespace std; int main(){ string str; char tem; while (getline(cin,str)) { str.push_back('0'); tem=str[0]; for (int i = 1; i < str.length()-1; i++) { if (tem < str[i]) { tem=str[i]; } } for (int i = 0; i < str.length()-1; i++) { if (tem==str[i]) { str.insert(i+1,"(max)"); } } for (int i = 0; i < str.length() - 1; i++) { cout<<str[i]; } cout<<endl; } return 0; }
你要说清楚你到底想达到什么目的.
你在下面的程序中 不断地往 str 里面插入 "(max)" 这个字符串, 导致 str 的长度不断增加, 你的 for 循环就不会结束.
for (int i = 0; i < str.length() - 1; i++) {
if (tem == str[i]) {
str.insert(i + 1, "(max)");