对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。
Input
输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。
Output
对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入”(max)”。
Sample Input
abcdefgfedcba
xxxxx
Sample Output
abcdefg(max)fedcba
x(max)x(max)x(max)x(max)x(max)
分析:这个题实际上是考察字符串中的元素查找,用max字符标记字符串中的元素,如果有比他大的,则max就换成这个字符,插入”(max)”其实不用真的插入,只要在输出时边输出边检测,如果输出的元素和最大值相等,就在他的后面输出“(max)”,然后继续输出,知道字符串中的元素全部输出为止。
源代码:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
string c = "(max)";
while(cin>>s)
{
char max;
max = s[0];
int t = 0;
for(int i = 0;i < s.size();i++)
{
if(max<s[i])
{
max = s[i];
}
}
for(int i = 0;i < s.size();i++)
{
cout<<s[i];
if(s[i] == max)
{
cout<<"(max)";
}
}
cout<<endl;
}
return 0;
}