E - 查找最大元素
对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(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)
解题思路:
1、通过比较ASCII码找出最大的字母
2、挨个比较,等于最大字母的就在其后插入“(max)”
源代码如下:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
string str1 = "(max)";
while (cin >> str)
{
int length = str.length(); //求输入的字符串的长度
char index = char(0); //最大的元素,初值为零
for (int i = 0; i < length; i++) //寻找最大的元素
{
if (index < str[i])
index = str[i];
}
for (int i = 0; i < length; i++) //再次从头比较,若等于最大元素,就在其后插入(max)
{
cout << str[i]; //先输出字母,再比较
if (index == str[i])
cout << str1;
}
cout << endl;
}
return 0;
}