ZSTUOJ刷题⑩:Problem B.--零起点学算法103——查找最大元素

Problem B: 零起点学算法103——查找最大元素

Time Limit: 1 Sec  Memory Limit: 64 MB
Submit: 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

posted @ 2021-05-22 15:32  Ta7KiXuoul  阅读(117)  评论(0编辑  收藏  举报