查找最大元素
时间: 1ms 内存:64M
描述:
对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。
输入:
输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。
输出:
对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入" (max)"。
示例输入:
abcdefgfedcba
xxxxx
示例输出:
abcdefg(max)fedcba
x(max)x(max)x(max)x(max)x(max)
提示:
参考答案(内存最优[752]):
#include<stdio.h>
int main()
{
char c[100],a;
int i;
while(gets(c))
{
a=c[0];
for(i=1;c[i]!='\0';i++)
if(c[i]>a)
a=c[i];
for(i=0;c[i]!='\0';i++)
if(c[i]==a)
printf("%c(max)",c[i]);
else
printf("%c",c[i]);
printf("\n");
}
return 0;
}
参考答案(时间最优[0]):
#include<stdio.h>
#include<iostream>
using namespace std;
#include<string.h>
#include<string>
int main()
{
int m,n;
char s,max;
string str,str2="(max)";
//cin.getline(str,1000);
while(cin>>str)
{
max=0;
m=0;
while(str[m]!='\0')
{
if(str[m]>max) max=str[m];
m++;
}
m=0;
while(str[m]!='\0')
{
if(str[m]==max)
{
str.insert(m+1,str2);
m+=5;
}
m++;
}
cout<<str<<endl;
}
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。