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;}