读书人

hdoj_2025题。感觉耗时太长有大牛帮

发布时间: 2012-06-14 16:00:31 作者: rapoo

hdoj_2025题。。感觉耗时太长,有大牛帮忙看一下为啥吗?

C/C++ code
#include<iostream>#include<fstream>#include<string>using namespace std;int main(){    fstream cin("2025.txt");    string s;    int i;    while(cin>>s)    {        char ch=s[0];        for(i=1;i<s.length();i++)        {            if(ch<s[i])            {                ch=s[i];            }        }                for(i=0;i<s.length();i++)        {            if(s[i]==ch)            {                s.insert(i+1,"(max)");            }        }        cout<<s<<endl;    }    system("pause");    return 0;}


题目是这样的:[b][/b]

2025 查找最大元素
Problem Description 对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(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)


[解决办法]
经测试,没有问题~~~
C/C++ code
#include<iostream>#include<fstream>#include<string>using namespace std;int main(){    fstream cin("d:\\1.txt");    string s;    int i;    while(!cin.eof())    {        getline(cin,s,'\n');        char ch=s[0];        for(i=1;i<s.length();i++)        {            if(ch<s[i])            {                ch=s[i];            }        }                for(i=0;i<s.length();i++)        {            if(s[i]==ch)            {                s.insert(i+1,"(max)");            }        }        cout<<s<<endl;    }    return 0;} 

读书人网 >C++

热点推荐