ZSTUOJ刷题⑩:Problem B.--零起点学算法103——查找最大元素
Problem B: 零起点学算法103——查找最大元素
Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 9951 Solved: 4793
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)
代码如下:
#include<bits/stdc++.h> using namespace std; int main(){ char a[101]; while(gets(a)!=NULL){ vector<char> b; vector<char> c; for(int i=0;i<(int)strlen(a);i++){ b.push_back(a[i]); c.push_back(a[i]); } sort(b.begin(),b.end()); int max=b[(int)strlen(a)-1]; for(int i=0;i<strlen(a);i++){ cout<<c[i]; if(c[i]==max) cout<<"(max)"; } cout<<endl; } return 0; }
这里要注意不能直接写成strlen(),要写成(int)strlen(),具体理解可以看看这篇文章https://blog.csdn.net/liujian20150808/article/details/50406601